summaryrefslogtreecommitdiffstats
path: root/tests/run-make-fulldeps/stable-symbol-names
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run-make-fulldeps/stable-symbol-names')
-rw-r--r--tests/run-make-fulldeps/stable-symbol-names/Makefile41
-rw-r--r--tests/run-make-fulldeps/stable-symbol-names/stable-symbol-names1.rs31
-rw-r--r--tests/run-make-fulldeps/stable-symbol-names/stable-symbol-names2.rs17
3 files changed, 0 insertions, 89 deletions
diff --git a/tests/run-make-fulldeps/stable-symbol-names/Makefile b/tests/run-make-fulldeps/stable-symbol-names/Makefile
deleted file mode 100644
index bbfb8e388..000000000
--- a/tests/run-make-fulldeps/stable-symbol-names/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-include ../tools.mk
-
-# The following command will:
-# 1. dump the symbols of a library using `nm`
-# 2. extract only those lines that we are interested in via `grep`
-# 3. from those lines, extract just the symbol name via `sed`, which:
-# * always starts with "_ZN" and ends with "E" (`legacy` mangling)
-# * always starts with "_R" (`v0` mangling)
-# 4. sort those symbol names for deterministic comparison
-# 5. write the result into a file
-
-dump-symbols = nm "$(TMPDIR)/lib$(1).rlib" \
- | grep -E "$(2)" \
- | sed -E "s/.*(_ZN.*E|_R[a-zA-Z0-9_]*).*/\1/" \
- | sort \
- > "$(TMPDIR)/$(1)$(3).nm"
-
-# This test
-# - compiles each of the two crates 2 times and makes sure each time we get
-# exactly the same symbol names
-# - makes sure that both crates agree on the same symbol names for monomorphic
-# functions
-
-all:
- $(RUSTC) stable-symbol-names1.rs
- $(call dump-symbols,stable_symbol_names1,generic_|mono_,_v1)
- rm $(TMPDIR)/libstable_symbol_names1.rlib
- $(RUSTC) stable-symbol-names1.rs
- $(call dump-symbols,stable_symbol_names1,generic_|mono_,_v2)
- cmp "$(TMPDIR)/stable_symbol_names1_v1.nm" "$(TMPDIR)/stable_symbol_names1_v2.nm"
-
- $(RUSTC) stable-symbol-names2.rs
- $(call dump-symbols,stable_symbol_names2,generic_|mono_,_v1)
- rm $(TMPDIR)/libstable_symbol_names2.rlib
- $(RUSTC) stable-symbol-names2.rs
- $(call dump-symbols,stable_symbol_names2,generic_|mono_,_v2)
- cmp "$(TMPDIR)/stable_symbol_names2_v1.nm" "$(TMPDIR)/stable_symbol_names2_v2.nm"
-
- $(call dump-symbols,stable_symbol_names1,mono_,_cross)
- $(call dump-symbols,stable_symbol_names2,mono_,_cross)
- cmp "$(TMPDIR)/stable_symbol_names1_cross.nm" "$(TMPDIR)/stable_symbol_names2_cross.nm"
diff --git a/tests/run-make-fulldeps/stable-symbol-names/stable-symbol-names1.rs b/tests/run-make-fulldeps/stable-symbol-names/stable-symbol-names1.rs
deleted file mode 100644
index b85a42827..000000000
--- a/tests/run-make-fulldeps/stable-symbol-names/stable-symbol-names1.rs
+++ /dev/null
@@ -1,31 +0,0 @@
-#![crate_type="rlib"]
-
-pub trait Foo {
- fn generic_method<T>();
-}
-
-pub struct Bar;
-
-impl Foo for Bar {
- fn generic_method<T>() {}
-}
-
-pub fn mono_function() {
- Bar::generic_method::<Bar>();
-}
-
-pub fn mono_function_lifetime<'a>(x: &'a u64) -> u64 {
- *x
-}
-
-pub fn generic_function<T>(t: T) -> T {
- t
-}
-
-pub fn user() {
- generic_function(0u32);
- generic_function("abc");
- let x = 2u64;
- generic_function(&x);
- let _ = mono_function_lifetime(&x);
-}
diff --git a/tests/run-make-fulldeps/stable-symbol-names/stable-symbol-names2.rs b/tests/run-make-fulldeps/stable-symbol-names/stable-symbol-names2.rs
deleted file mode 100644
index 33df9d6c6..000000000
--- a/tests/run-make-fulldeps/stable-symbol-names/stable-symbol-names2.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-#![crate_type="rlib"]
-
-extern crate stable_symbol_names1;
-
-pub fn user() {
- stable_symbol_names1::generic_function(1u32);
- stable_symbol_names1::generic_function("def");
- let x = 2u64;
- stable_symbol_names1::generic_function(&x);
- stable_symbol_names1::mono_function();
- stable_symbol_names1::mono_function_lifetime(&0);
-}
-
-pub fn trait_impl_test_function() {
- use stable_symbol_names1::*;
- Bar::generic_method::<Bar>();
-}