about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorKevin Per <kevin.per@protonmail.com>2019-07-11 19:40:09 +0200
committerKevin Per <kevin.per@protonmail.com>2019-08-15 11:40:14 +0200
commitcac53fe3f24f9862d7faa85296f348e17c729bc4 (patch)
tree7aae8fe28fe83946304ba93b8d6b4b4fd05b4fcf /src
parent98325eb592f537e87100199c0c67682306df3fa4 (diff)
downloadrust-cac53fe3f24f9862d7faa85296f348e17c729bc4.tar.gz
rust-cac53fe3f24f9862d7faa85296f348e17c729bc4.zip
Fixing broken tests #62401
The grouping led to a lot of `mv`. Therefore, some relative paths were
wrong. In this commit the dependent files were also moved so that the paths
work again.
Diffstat (limited to 'src')
-rw-r--r--src/test/run-pass/abi/cross-crate/anon-extern-mod-cross-crate-2.rs14
-rw-r--r--src/test/run-pass/abi/duplicated-external-mods.rs8
-rw-r--r--src/test/run-pass/abi/extern/extern-crosscrate.rs21
-rw-r--r--src/test/run-pass/abi/foreign/foreign-dupe.rs17
-rw-r--r--src/test/run-pass/abi/invoke-external-foreign.rs16
-rw-r--r--src/test/run-pass/abi/issues/auxiliary/issue-25185-2.rs3
-rw-r--r--src/test/run-pass/abi/issues/issue-25185.rs13
-rw-r--r--src/test/run-pass/abi/proc_macro/auxiliary/test-macros.rs26
-rw-r--r--src/test/run-pass/abi/stack-probes-lto.rs18
9 files changed, 136 insertions, 0 deletions
diff --git a/src/test/run-pass/abi/cross-crate/anon-extern-mod-cross-crate-2.rs b/src/test/run-pass/abi/cross-crate/anon-extern-mod-cross-crate-2.rs
new file mode 100644
index 00000000000..77168be5374
--- /dev/null
+++ b/src/test/run-pass/abi/cross-crate/anon-extern-mod-cross-crate-2.rs
@@ -0,0 +1,14 @@
+// run-pass
+// aux-build:anon-extern-mod-cross-crate-1.rs
+// pretty-expanded FIXME #23616
+// ignore-wasm32-bare no libc to test ffi with
+
+extern crate anonexternmod;
+
+use anonexternmod::rust_get_test_int;
+
+pub fn main() {
+    unsafe {
+        rust_get_test_int();
+    }
+}
diff --git a/src/test/run-pass/abi/duplicated-external-mods.rs b/src/test/run-pass/abi/duplicated-external-mods.rs
new file mode 100644
index 00000000000..f2c1e1f6540
--- /dev/null
+++ b/src/test/run-pass/abi/duplicated-external-mods.rs
@@ -0,0 +1,8 @@
+// aux-build:anon-extern-mod-cross-crate-1.rs
+// aux-build:anon-extern-mod-cross-crate-1.rs
+// pretty-expanded FIXME #23616
+// ignore-wasm32-bare no libc to test ffi with
+
+extern crate anonexternmod;
+
+pub fn main() { }
diff --git a/src/test/run-pass/abi/extern/extern-crosscrate.rs b/src/test/run-pass/abi/extern/extern-crosscrate.rs
new file mode 100644
index 00000000000..123ce20ca26
--- /dev/null
+++ b/src/test/run-pass/abi/extern/extern-crosscrate.rs
@@ -0,0 +1,21 @@
+// run-pass
+// aux-build:extern-crosscrate-source.rs
+// ignore-wasm32-bare no libc to test ffi with
+
+#![feature(rustc_private)]
+
+extern crate externcallback;
+extern crate libc;
+
+fn fact(n: libc::uintptr_t) -> libc::uintptr_t {
+    unsafe {
+        println!("n = {}", n);
+        externcallback::rustrt::rust_dbg_call(externcallback::cb, n)
+    }
+}
+
+pub fn main() {
+    let result = fact(10);
+    println!("result = {}", result);
+    assert_eq!(result, 3628800);
+}
diff --git a/src/test/run-pass/abi/foreign/foreign-dupe.rs b/src/test/run-pass/abi/foreign/foreign-dupe.rs
new file mode 100644
index 00000000000..3c9f0f583d4
--- /dev/null
+++ b/src/test/run-pass/abi/foreign/foreign-dupe.rs
@@ -0,0 +1,17 @@
+// run-pass
+// aux-build:foreign_lib.rs
+// ignore-wasm32-bare no libc to test ffi with
+
+// Check that we can still call duplicated extern (imported) functions
+// which were declared in another crate. See issues #32740 and #32783.
+
+
+extern crate foreign_lib;
+
+pub fn main() {
+    unsafe {
+        let x = foreign_lib::rustrt::rust_get_test_int();
+        assert_eq!(x, foreign_lib::rustrt2::rust_get_test_int());
+        assert_eq!(x as *const _, foreign_lib::rustrt3::rust_get_test_int());
+    }
+}
diff --git a/src/test/run-pass/abi/invoke-external-foreign.rs b/src/test/run-pass/abi/invoke-external-foreign.rs
new file mode 100644
index 00000000000..d34933cde42
--- /dev/null
+++ b/src/test/run-pass/abi/invoke-external-foreign.rs
@@ -0,0 +1,16 @@
+// aux-build:foreign_lib.rs
+// ignore-wasm32-bare no libc to test ffi with
+
+// The purpose of this test is to check that we can
+// successfully (and safely) invoke external, cdecl
+// functions from outside the crate.
+
+// pretty-expanded FIXME #23616
+
+extern crate foreign_lib;
+
+pub fn main() {
+    unsafe {
+        let _foo = foreign_lib::rustrt::rust_get_test_int();
+    }
+}
diff --git a/src/test/run-pass/abi/issues/auxiliary/issue-25185-2.rs b/src/test/run-pass/abi/issues/auxiliary/issue-25185-2.rs
new file mode 100644
index 00000000000..7ce3df255a3
--- /dev/null
+++ b/src/test/run-pass/abi/issues/auxiliary/issue-25185-2.rs
@@ -0,0 +1,3 @@
+extern crate issue_25185_1;
+
+pub use issue_25185_1::rust_dbg_extern_identity_u32;
diff --git a/src/test/run-pass/abi/issues/issue-25185.rs b/src/test/run-pass/abi/issues/issue-25185.rs
new file mode 100644
index 00000000000..383c9a1e9c4
--- /dev/null
+++ b/src/test/run-pass/abi/issues/issue-25185.rs
@@ -0,0 +1,13 @@
+// run-pass
+// aux-build:issue-25185-1.rs
+// aux-build:issue-25185-2.rs
+// ignore-wasm32-bare no libc for ffi testing
+
+extern crate issue_25185_2;
+
+fn main() {
+    let x = unsafe {
+        issue_25185_2::rust_dbg_extern_identity_u32(1)
+    };
+    assert_eq!(x, 1);
+}
diff --git a/src/test/run-pass/abi/proc_macro/auxiliary/test-macros.rs b/src/test/run-pass/abi/proc_macro/auxiliary/test-macros.rs
new file mode 100644
index 00000000000..15fe3804f9b
--- /dev/null
+++ b/src/test/run-pass/abi/proc_macro/auxiliary/test-macros.rs
@@ -0,0 +1,26 @@
+// force-host
+// no-prefer-dynamic
+
+#![crate_type = "proc-macro"]
+
+extern crate proc_macro;
+
+use proc_macro::TokenStream;
+
+#[proc_macro_attribute]
+pub fn nop_attr(_attr: TokenStream, input: TokenStream) -> TokenStream {
+    assert!(_attr.to_string().is_empty());
+    input
+}
+
+#[proc_macro_attribute]
+pub fn no_output(_attr: TokenStream, _input: TokenStream) -> TokenStream {
+    assert!(_attr.to_string().is_empty());
+    assert!(!_input.to_string().is_empty());
+    "".parse().unwrap()
+}
+
+#[proc_macro]
+pub fn emit_input(input: TokenStream) -> TokenStream {
+    input
+}
diff --git a/src/test/run-pass/abi/stack-probes-lto.rs b/src/test/run-pass/abi/stack-probes-lto.rs
new file mode 100644
index 00000000000..1274f032a3e
--- /dev/null
+++ b/src/test/run-pass/abi/stack-probes-lto.rs
@@ -0,0 +1,18 @@
+// ignore-arm
+// ignore-aarch64
+// ignore-mips
+// ignore-mips64
+// ignore-powerpc
+// ignore-s390x
+// ignore-sparc
+// ignore-sparc64
+// ignore-wasm
+// ignore-cloudabi no processes
+// ignore-emscripten no processes
+// ignore-sgx no processes
+// ignore-musl FIXME #31506
+// ignore-pretty
+// compile-flags: -C lto
+// no-prefer-dynamic
+
+include!("stack-probes.rs");