summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--test/Linker/testlink1.ll2
-rw-r--r--test/Linker/weakextern.ll13
2 files changed, 15 insertions, 0 deletions
diff --git a/test/Linker/testlink1.ll b/test/Linker/testlink1.ll
index 845d0fe..91d9833 100644
--- a/test/Linker/testlink1.ll
+++ b/test/Linker/testlink1.ll
@@ -6,6 +6,8 @@
%MyIntList = global { \2 *, int } { { \2, int }* null, int 17 }
external global int ; int*:0
+%Inte = global int 1
+
%AConst = linkonce constant int 123
%Intern1 = internal constant int 42
diff --git a/test/Linker/weakextern.ll b/test/Linker/weakextern.ll
new file mode 100644
index 0000000..a04be67
--- /dev/null
+++ b/test/Linker/weakextern.ll
@@ -0,0 +1,13 @@
+; RUN: llvm-as < %s > %t.bc
+; RUN: llvm-as < `dirname %s`/testlink1.ll > %t2.bc
+; RUN: llvm-link %t.bc %t.bc %t2.bc -o %t1.bc
+; RUN: llvm-dis < %t1.bc |grep "kallsyms_names = extern_weak" &&
+; RUN: llvm-dis < %t1.bc |grep "MyVar = external global int" &&
+; RUN: llvm-dis < %t1.bc |grep "Inte = global int"
+
+%kallsyms_names = extern_weak global [0 x ubyte]
+%MyVar = extern_weak global int
+%Inte = extern_weak global int
+
+implementation
+