| // run-pass | |
| // ignore-windows | |
| // aux-build:thread-local-extern-static.rs | |
| #![feature(cfg_target_thread_local, thread_local)] | |
| #[cfg(target_thread_local)] | |
| extern crate thread_local_extern_static; | |
| #[cfg(target_thread_local)] | |
| use std::cell::Cell; | |
| #[cfg(target_thread_local)] | |
| extern "C" { | |
| #[thread_local] | |
| static FOO: Cell<u32>; | |
| } | |
| #[cfg(target_thread_local)] | |
| fn main() { | |
| unsafe { | |
| assert_eq!(FOO.get(), 3); | |
| } | |
| } | |
| #[cfg(not(target_thread_local))] | |
| fn main() {} |