summaryrefslogtreecommitdiffstats
path: root/src/test/run-make/raw-dylib-import-name-type/driver.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/run-make/raw-dylib-import-name-type/driver.rs')
-rw-r--r--src/test/run-make/raw-dylib-import-name-type/driver.rs133
1 files changed, 0 insertions, 133 deletions
diff --git a/src/test/run-make/raw-dylib-import-name-type/driver.rs b/src/test/run-make/raw-dylib-import-name-type/driver.rs
deleted file mode 100644
index 9a3cd9ebe..000000000
--- a/src/test/run-make/raw-dylib-import-name-type/driver.rs
+++ /dev/null
@@ -1,133 +0,0 @@
-#![feature(raw_dylib)]
-#![feature(abi_vectorcall)]
-
-#[link(name = "extern", kind = "raw-dylib", import_name_type = "undecorated")]
-extern "C" {
- fn LooksLikeAPrivateGlobal(i: i32);
- fn cdecl_fn_undecorated(i: i32);
- #[link_name = "cdecl_fn_undecorated2"]
- fn cdecl_fn_undecorated_renamed(i: i32);
- static mut extern_variable_undecorated: i32;
-}
-
-#[link(name = "extern", kind = "raw-dylib", import_name_type = "noprefix")]
-extern "C" {
- fn cdecl_fn_noprefix(i: i32);
- static mut extern_variable_noprefix: i32;
-}
-
-#[link(name = "extern", kind = "raw-dylib", import_name_type = "decorated")]
-extern "C" {
- fn cdecl_fn_decorated(i: i32);
- static mut extern_variable_decorated: i32;
-}
-
-#[link(name = "extern", kind = "raw-dylib", import_name_type = "undecorated")]
-extern "stdcall" {
- fn stdcall_fn_undecorated(i: i32);
- #[link_name = "stdcall_fn_undecorated2"]
- fn stdcall_fn_undecorated_renamed(i: i32);
-}
-
-#[link(name = "extern", kind = "raw-dylib", import_name_type = "noprefix")]
-extern "stdcall" {
- fn stdcall_fn_noprefix(i: i32);
-}
-
-#[link(name = "extern", kind = "raw-dylib", import_name_type = "decorated")]
-extern "stdcall" {
- fn stdcall_fn_decorated(i: i32);
-}
-
-#[link(name = "extern", kind = "raw-dylib", import_name_type = "undecorated")]
-extern "fastcall" {
- fn fastcall_fn_undecorated(i: i32);
- #[link_name = "fastcall_fn_undecorated2"]
- fn fastcall_fn_undecorated_renamed(i: i32);
-}
-
-#[link(name = "extern", kind = "raw-dylib", import_name_type = "noprefix")]
-extern "fastcall" {
- fn fastcall_fn_noprefix(i: i32);
-}
-
-#[link(name = "extern", kind = "raw-dylib", import_name_type = "decorated")]
-extern "fastcall" {
- fn fastcall_fn_decorated(i: i32);
-}
-
-#[cfg(target_env = "msvc")]
-#[link(name = "extern", kind = "raw-dylib", import_name_type = "undecorated")]
-extern "vectorcall" {
- fn vectorcall_fn_undecorated(i: i32);
- #[link_name = "vectorcall_fn_undecorated2"]
- fn vectorcall_fn_undecorated_renamed(i: i32);
-}
-
-#[cfg(target_env = "msvc")]
-#[link(name = "extern", kind = "raw-dylib", import_name_type = "noprefix")]
-extern "vectorcall" {
- fn vectorcall_fn_noprefix(i: i32);
-}
-
-#[cfg(target_env = "msvc")]
-#[link(name = "extern", kind = "raw-dylib", import_name_type = "decorated")]
-extern "vectorcall" {
- fn vectorcall_fn_decorated(i: i32);
-}
-
-#[link(name = "extern", kind = "raw-dylib")]
-extern {
- fn print_extern_variable_undecorated();
- fn print_extern_variable_noprefix();
- fn print_extern_variable_decorated();
-}
-
-pub fn main() {
- unsafe {
- // Regression test for #104453
- // On x86 LLVM uses 'L' as the prefix for private globals (PrivateGlobalPrefix), which
- // causes it to believe that undecorated functions starting with 'L' are actually temporary
- // symbols that it generated, which causes a later check to fail as the symbols we are
- // creating don't have definitions (whereas all temporary symbols do).
- LooksLikeAPrivateGlobal(13);
-
- cdecl_fn_undecorated(1);
- cdecl_fn_undecorated_renamed(10);
- cdecl_fn_noprefix(2);
- cdecl_fn_decorated(3);
-
- stdcall_fn_undecorated(4);
- stdcall_fn_undecorated_renamed(14);
- stdcall_fn_noprefix(5);
- stdcall_fn_decorated(6);
-
- fastcall_fn_undecorated(7);
- fastcall_fn_undecorated_renamed(17);
- fastcall_fn_noprefix(8);
- fastcall_fn_decorated(9);
-
- extern_variable_undecorated = 42;
- print_extern_variable_undecorated();
- extern_variable_noprefix = 43;
- print_extern_variable_noprefix();
- extern_variable_decorated = 44;
- print_extern_variable_decorated();
-
- // GCC doesn't support vectorcall: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89485
- #[cfg(target_env = "msvc")]
- {
- vectorcall_fn_undecorated(10);
- vectorcall_fn_undecorated_renamed(20);
- vectorcall_fn_noprefix(11);
- vectorcall_fn_decorated(12);
- }
- #[cfg(not(target_env = "msvc"))]
- {
- println!("vectorcall_fn_undecorated(10)");
- println!("vectorcall_fn_undecorated2(20)");
- println!("vectorcall_fn_noprefix(11)");
- println!("vectorcall_fn_decorated(12)");
- }
- }
-}