]> git.lizzy.rs Git - rust.git/blobdiff - src/librustrt/thread_local_storage.rs
auto merge of #15999 : Kimundi/rust/fix_folder, r=nikomatsakis
[rust.git] / src / librustrt / thread_local_storage.rs
index 2cdeb21fb83dde04f3dfd25c63d2b7577863764f..b9b12686170c0eacb01d2672be93bf231079b57b 100644 (file)
@@ -37,19 +37,21 @@ pub unsafe fn destroy(key: Key) {
     assert!(pthread_key_delete(key) == 0);
 }
 
-#[cfg(target_os="macos")]
+#[cfg(target_os = "macos")]
 #[allow(non_camel_case_types)] // foreign type
 type pthread_key_t = ::libc::c_ulong;
 
 #[cfg(target_os="linux")]
 #[cfg(target_os="freebsd")]
+#[cfg(target_os="dragonfly")]
 #[cfg(target_os="android")]
+#[cfg(target_os = "ios")]
 #[allow(non_camel_case_types)] // foreign type
 type pthread_key_t = ::libc::c_uint;
 
 #[cfg(unix)]
 extern {
-    fn pthread_key_create(key: *mut pthread_key_t, dtor: *u8) -> c_int;
+    fn pthread_key_create(key: *mut pthread_key_t, dtor: *const u8) -> c_int;
     fn pthread_key_delete(key: pthread_key_t) -> c_int;
     fn pthread_getspecific(key: pthread_key_t) -> *mut u8;
     fn pthread_setspecific(key: pthread_key_t, value: *mut u8) -> c_int;
@@ -99,15 +101,15 @@ fn tls_smoke_test() {
         use std::mem::transmute;
         unsafe {
             let mut key = 0;
-            let value = box 20;
+            let value = box 20i;
             create(&mut key);
             set(key, transmute(value));
             let value: Box<int> = transmute(get(key));
-            assert_eq!(value, box 20);
-            let value = box 30;
+            assert_eq!(value, box 20i);
+            let value = box 30i;
             set(key, transmute(value));
             let value: Box<int> = transmute(get(key));
-            assert_eq!(value, box 30);
+            assert_eq!(value, box 30i);
         }
     }
 }