]> git.lizzy.rs Git - rust.git/blobdiff - src/test/run-make/stable-symbol-names/Makefile
trans: Treat generics like regular functions, not like #[inline] functions during...
[rust.git] / src / test / run-make / stable-symbol-names / Makefile
index c1b14440faab6609bbf5f32c7d45adcc06d16d8b..3cbc5593ac0a2241926a577341285a84aa9b0732 100644 (file)
@@ -9,14 +9,32 @@
 #  5. write the result into a file
 
 dump-symbols = nm "$(TMPDIR)/lib$(1).rlib" \
-             | grep -E "some_test_function|Bar|bar" \
+             | grep -E "$(2)" \
              | sed "s/.*\(_ZN.*E\).*/\1/" \
              | sort \
-             > "$(TMPDIR)/$(1).nm"
+             > "$(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_names1)
-       $(call dump-symbols,stable_symbol_names2)
-       cmp "$(TMPDIR)/stable_symbol_names1.nm" "$(TMPDIR)/stable_symbol_names2.nm"
+       $(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"