| // Generation of position-independent code (PIC) can be altered |
| // through use of the -C relocation-model rustc flag. This test |
| // uses varied values with this flag and checks that compilation |
| // succeeds. |
| // See https://github.com/rust-lang/rust/pull/13340 |
| |
| //@ ignore-cross-compile |
| |
| use run_make_support::{run, rustc}; |
| |
| fn main() { |
| rustc().arg("-Crelocation-model=static").input("foo.rs").run(); |
| run("foo"); |
| rustc().arg("-Crelocation-model=dynamic-no-pic").input("foo.rs").run(); |
| run("foo"); |
| rustc().arg("-Crelocation-model=default").input("foo.rs").run(); |
| run("foo"); |
| rustc() |
| .arg("-Crelocation-model=dynamic-no-pic") |
| .crate_type("dylib") |
| .emit("link,obj") |
| .input("foo.rs") |
| .run(); |
| } |