28 lines
479 B
Rust
28 lines
479 B
Rust
// 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() {}
|