about summary refs log tree commit diff
path: root/tests/ui/runtime/stdout-before-main.rs
blob: 26c734d3e9eedfbc670eedad6a0fead949cb795d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//@ run-pass
//@ check-run-results
//@ only-gnu
//@ only-linux
//
// Regression test for #130210.
// .init_array doesn't work everywhere, so we limit the test to just GNU/Linux.

use std::ffi::c_int;
use std::thread;

#[used]
#[link_section = ".init_array"]
static INIT: extern "C" fn(c_int, *const *const u8, *const *const u8) = {
    extern "C" fn init(_argc: c_int, _argv: *const *const u8, _envp: *const *const u8) {
        print!("Hello from before ");
    }

    init
};

fn main() {
    println!("{}!", thread::current().name().unwrap());
}