For PR1319: Upgrade to new test harness

llvm-svn: 36073
This commit is contained in:
Reid Spencer 2007-04-15 18:11:57 +00:00
parent 5dff5ed7f7
commit 6c38d94201
38 changed files with 108 additions and 104 deletions

View File

@ -2,7 +2,7 @@
; RUN: llvm-as > %t1.bc < /dev/null ; RUN: llvm-as > %t1.bc < /dev/null
; RUN: llvm-upgrade < %s | llvm-as > %t2.bc ; RUN: llvm-upgrade < %s | llvm-as > %t2.bc
; RUN: llvm-link %t[12].bc ; RUN: llvm-link %t1.bc %t2.bc
%work = global int (int, int)* %zip %work = global int (int, int)* %zip

View File

@ -1,11 +1,9 @@
; This fails because the linker renames the external symbol not the internal ; This fails because the linker renames the external symbol not the internal
; one... ; one...
; RUN: echo "implementation internal int %foo() { ret int 7 }" | llvm-upgrade |\ ; RUN: echo {define internal i32 @foo() \{ ret i32 7 \} } | llvm-as > %t.1.bc
; RUN: llvm-as > %t.1.bc ; RUN: llvm-as < %s -o %t.2.bc -f
; RUN: llvm-upgrade < %s | llvm-as -o %t.2.bc -f ; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep @foo() | grep -v internal
; RUN: llvm-link %t.[12].bc | llvm-dis | grep '@foo()' | grep -v internal
implementation define i32 @foo() { ret i32 0 }
int %foo() { ret int 0 }

View File

@ -1,9 +1,9 @@
; This fails because the linker renames the non-opaque type not the opaque ; This fails because the linker renames the non-opaque type not the opaque
; one... ; one...
; RUN: echo "%Ty = type opaque %GV = external global %Ty*" | llvm-as > %t.1.bc ; RUN: echo {%Ty = type opaque @GV = external global %Ty*} | llvm-as > %t.1.bc
; RUN: llvm-as < %s > %t.2.bc ; RUN: llvm-as < %s > %t.2.bc
; RUN: llvm-link %t.[12].bc | llvm-dis | grep '%Ty ' | not grep opaque ; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep {%Ty } | not grep opaque
%Ty = type int %Ty = type i32

View File

@ -1,15 +1,14 @@
; RUN: echo "%X = linkonce global int 5 implementation linkonce int %foo() { ret int 7 }" | llvm-upgrade | llvm-as > %t.1.bc ; RUN: echo {@X = linkonce global i32 5 \
; RUN: llvm-upgrade < %s | llvm-as -o %t.2.bc -f ; RUN: define linkonce i32 @foo() \{ ret i32 7 \} } | llvm-as > %t.1.bc
; RUN: llvm-link %t.[12].bc ; RUN: llvm-as < %s -o %t.2.bc -f
%X = external global int ; RUN: llvm-link %t.1.bc %t.2.bc
@X = external global i32
implementation declare i32 @foo()
declare int %foo() define void @bar() {
load i32* @X
void %bar() { call i32 @foo()
load int* %X
call int %foo()
ret void ret void
} }

View File

@ -1,9 +1,10 @@
; This fails because the linker renames the non-opaque type not the opaque ; This fails because the linker renames the non-opaque type not the opaque
; one... ; one...
; RUN: echo "implementation linkonce void %foo() { ret void } " | llvm-upgrade|\ ; RUN: echo { define linkonce void @foo() \{ ret void \} } | \
; RUN: llvm-as -o %t.2.bc -f ; RUN: llvm-as -o %t.2.bc -f
; RUN: llvm-upgrade < %s | llvm-as -o %t.1.bc -f ; RUN: llvm-as < %s -o %t.1.bc -f
; RUN: llvm-link %t.[12].bc | llvm-dis | grep foo | grep linkonce ; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep foo | grep linkonce
declare void @foo()
declare void %foo()

View File

@ -1,9 +1,9 @@
; This one fails because the LLVM runtime is allowing two null pointers of ; This one fails because the LLVM runtime is allowing two null pointers of
; the same type to be created! ; the same type to be created!
; RUN: echo "%T = type int" | llvm-upgrade | llvm-as > %t.2.bc ; RUN: echo {%T = type int} | llvm-upgrade | llvm-as > %t.2.bc
; RUN: llvm-upgrade < %s | llvm-as -f > %t.1.bc ; RUN: llvm-upgrade < %s | llvm-as -f > %t.1.bc
; RUN: llvm-link %t.[12].bc ; RUN: llvm-link %t.1.bc %t.2.bc
%T = type opaque %T = type opaque

View File

@ -1,9 +1,9 @@
; This one fails because the LLVM runtime is allowing two null pointers of ; This one fails because the LLVM runtime is allowing two null pointers of
; the same type to be created! ; the same type to be created!
; RUN: echo "%S = type { %T*} %T = type opaque" | llvm-upgrade | llvm-as > %t.2.bc ; RUN: echo {%S = type \{ %T*\} %T = type opaque} | llvm-as > %t.2.bc
; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc ; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc
; RUN: llvm-link %t.[12].bc ; RUN: llvm-link %t.1.bc %t.2.bc
%S = type { %T* } %S = type { %T* }
%T = type int %T = type int

View File

@ -1,17 +1,17 @@
; The funcresolve pass will (intentionally) llvm-link an _internal_ function body with an ; The funcresolve pass will (intentionally) llvm-link an _internal_ function
; external declaration. Because of this, if we LINK an internal function body into ; body with an external declaration. Because of this, if we LINK an internal
; a program that already has an external declaration for the function name, we must ; function body into a program that already has an external declaration for
; rename the internal function to something that does not conflict. ; the function name, we must rename the internal function to something that
; does not conflict.
; RUN: echo "implementation internal int %foo() { ret int 7 }" | llvm-as > %t.1.bc ; RUN: echo { define internal i32 @foo() \{ ret i32 7 \} } | llvm-as > %t.1.bc
; RUN: llvm-as < %s > %t.2.bc ; RUN: llvm-as < %s > %t.2.bc
; RUN: llvm-link %t.[12].bc | llvm-dis | grep 'internal' | not grep '%foo(' ; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep internal | not grep %foo(
implementation declare i32 @foo()
declare int %foo()
int %test() { define i32 @test() {
%X = call int %foo() %X = call i32 @foo()
ret int %X ret i32 %X
} }

View File

@ -1,6 +1,6 @@
; RUN: echo "%T = type opaque" | llvm-upgrade | llvm-as > %t.2.bc ; RUN: echo {%T = type opaque} | llvm-upgrade | llvm-as > %t.2.bc
; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc ; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc
; RUN: llvm-link %t.[12].bc ; RUN: llvm-link %t.1.bc %t.2.bc
%T = type opaque %T = type opaque
%a = constant { %T* } { %T* null } %a = constant { %T* } { %T* null }

View File

@ -1,6 +1,6 @@
; RUN: echo "%T = type int" | llvm-upgrade | llvm-as > %t.1.bc ; RUN: echo {%T = type int} | llvm-upgrade | llvm-as > %t.1.bc
; RUN: llvm-upgrade < %s | llvm-as > %t.2.bc ; RUN: llvm-upgrade < %s | llvm-as > %t.2.bc
; RUN: llvm-link %t.[12].bc ; RUN: llvm-link %t.1.bc %t.2.bc
%T = type opaque %T = type opaque

View File

@ -1,7 +1,6 @@
; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc ; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc
; RUN: echo "%S = type { int, int* }" | llvm-upgrade | llvm-as > %t.out2.bc ; RUN: echo {%S = type \{ int, int* \} } | llvm-upgrade | llvm-as > %t.out2.bc
; RUN: llvm-link %t.out[12].bc ; RUN: llvm-link %t.out1.bc %t.out2.bc
%T = type opaque %T = type opaque
%S = type { int, %T* } %S = type { int, %T* }

View File

@ -1,6 +1,7 @@
; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc ; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc
; RUN: echo "%S = external global { int, opaque* } declare void %F(opaque*)" | llvm-upgrade | llvm-as > %t.out2.bc ; RUN: echo {%S = external global \{ int, opaque* \} declare void %F(opaque*)}\
; RUN: llvm-link %t.out[12].bc | llvm-dis | not grep opaque ; RUN: | llvm-upgrade | llvm-as > %t.out2.bc
; RUN: llvm-link %t.out1.bc %t.out2.bc | llvm-dis | not grep opaque
; After linking this testcase, there should be no opaque types left. The two ; After linking this testcase, there should be no opaque types left. The two
; S's should cause the opaque type to be resolved to 'int'. ; S's should cause the opaque type to be resolved to 'int'.

View File

@ -3,6 +3,6 @@
; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc ; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc
; RUN: echo "%S = type { %S*, int* }" | llvm-upgrade | llvm-as > %t.out2.bc ; RUN: echo "%S = type { %S*, int* }" | llvm-upgrade | llvm-as > %t.out2.bc
; RUN: llvm-link %t.out[12].bc ; RUN: llvm-link %t.out1.bc %t.out2.bc
%S = type { %S*, opaque* } %S = type { %S*, opaque* }

View File

@ -1,9 +1,9 @@
; Linking these a module with a specified pointer size to one without a ; Linking a module with a specified pointer size to one without a
; specified pointer size should not cause a warning! ; specified pointer size should not cause a warning!
; RUN: llvm-as < %s > %t.out1.bc ; RUN: llvm-as < %s > %t.out1.bc
; RUN: echo "" | llvm-as > %t.out2.bc ; RUN: echo {} | llvm-as > %t.out2.bc
; RUN: llvm-link %t.out[12].bc 2>&1 | not grep WARNING ; RUN: llvm-link %t.out1.bc %t.out2.bc |& not grep warning
target pointersize = 64 target datalayout = "e-p:64:64"

View File

@ -1,6 +1,6 @@
; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc ; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc
; RUN: echo "%S = type int" | llvm-upgrade | llvm-as > %t.out2.bc ; RUN: echo "%S = type int" | llvm-upgrade | llvm-as > %t.out2.bc
; RUN: llvm-link %t.out[21].bc ; RUN: llvm-link %t.out2.bc %t.out1.bc
%S = type opaque %S = type opaque

View File

@ -1,6 +1,6 @@
; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc ; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc
; RUN: echo "%S = type int" | llvm-upgrade | llvm-as > %t.out2.bc ; RUN: echo "%S = type int" | llvm-upgrade | llvm-as > %t.out2.bc
; RUN: llvm-link %t.out[21].bc ; RUN: llvm-link %t.out2.bc %t.out1.bc
%S = type opaque %S = type opaque

View File

@ -1,6 +1,6 @@
; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc ; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc
; RUN: echo "%S = type int" | llvm-upgrade | llvm-as > %t.out2.bc ; RUN: echo "%S = type int" | llvm-upgrade | llvm-as > %t.out2.bc
; RUN: llvm-link %t.out[21].bc ; RUN: llvm-link %t.out2.bc %t.out1.bc
%S = type opaque %S = type opaque

View File

@ -1,6 +1,6 @@
; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc ; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc
; RUN: echo "%S = type [8 x int] external global %S " | llvm-upgrade | llvm-as > %t.out2.bc ; RUN: echo { %S = type \[8 x i32\] external global %S } | llvm-as > %t.out2.bc
; RUN: llvm-link %t.out[12].bc | llvm-dis | grep %S | grep '{' ; RUN: llvm-link %t.out1.bc %t.out2.bc | llvm-dis | grep %S | grep \{
%S = type { int } %S = type { int }

View File

@ -3,6 +3,6 @@
; RUN: echo "%X = global int 7" | llvm-upgrade | llvm-as > %t.2.bc ; RUN: echo "%X = global int 7" | llvm-upgrade | llvm-as > %t.2.bc
; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc ; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc
; RUN: llvm-link %t.[12].bc ; RUN: llvm-link %t.1.bc %t.2.bc
%X = linkonce global int 7 %X = linkonce global int 7

View File

@ -6,7 +6,7 @@
; RUN: llvm-upgrade %s | llvm-as > %t.out2.bc ; RUN: llvm-upgrade %s | llvm-as > %t.out2.bc
; RUN: echo "%T1 = type opaque @GVar = external global %T1*" | llvm-as > %t.out1.bc ; RUN: echo "%T1 = type opaque @GVar = external global %T1*" | llvm-as > %t.out1.bc
; RUN: llvm-link %t.out[12].bc ; RUN: llvm-link %t.out1.bc %t.out2.bc
%T1 = type opaque %T1 = type opaque
%T2 = type int %T2 = type int

View File

@ -1,6 +1,6 @@
; RUN: llvm-upgrade < %s | llvm-as > %t.out2.bc ; RUN: llvm-upgrade < %s | llvm-as > %t.out2.bc
; RUN: echo "%me = global int* null" | llvm-upgrade | llvm-as > %t.out1.bc ; RUN: echo "%me = global int* null" | llvm-upgrade | llvm-as > %t.out1.bc
; RUN: llvm-link %t.out[12].bc -o /dev/null -f ; RUN: llvm-link %t.out1.bc %t.out2.bc -o /dev/null -f
%me = weak global int * null %me = weak global int * null

View File

@ -1,5 +1,5 @@
; RUN: llvm-upgrade < %s | llvm-as -f -o %t1.bc ; RUN: llvm-upgrade < %s | llvm-as -f -o %t1.bc
; RUN: llvm-upgrade < `dirname %s`/2004-05-07-TypeResolution2.ll | \ ; RUN: llvm-upgrade < %p/2004-05-07-TypeResolution2.ll | \
; RUN: llvm-as -o %t2.bc -f ; RUN: llvm-as -o %t2.bc -f
; RUN: llvm-link -f -o %t3.bc %t1.bc %t2.bc ; RUN: llvm-link -f -o %t3.bc %t1.bc %t2.bc

View File

@ -1,8 +1,9 @@
; RUN: echo "%G = weak global {{{{double}}}} zeroinitializer" | llvm-as > %t.out2.bc ; RUN: echo {@G = weak global \{\{\{\{double\}\}\}\} zeroinitializer } | \
; RUN: llvm-as > %t.out2.bc
; RUN: llvm-as < %s > %t.out1.bc ; RUN: llvm-as < %s > %t.out1.bc
; RUN: llvm-link %t.out[12].bc | llvm-dis | not grep '\}' ; RUN: llvm-link %t.out1.bc %t.out2.bc | llvm-dis | not grep {\}}
; When linked, the global above should be eliminated, being merged with the ; When linked, the global above should be eliminated, being merged with the
; global below. ; global below.
%G = global double 1.0 @G = global double 1.0

View File

@ -1,8 +1,8 @@
; Test that a prototype can be marked const, and the definition is allowed ; Test that a prototype can be marked const, and the definition is allowed
; to be nonconst. ; to be nonconst.
; RUN: echo "%X = external constant int" | llvm-upgrade | llvm-as > %t.2.bc ; RUN: echo {@X = external constant i32} | llvm-as > %t.2.bc
; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc ; RUN: llvm-as < %s > %t.1.bc
; RUN: llvm-link %t.[12].bc | llvm-dis | grep 'global i32 7' ; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep {global i32 7}
%X = global int 7 @X = global i32 7

View File

@ -1,8 +1,8 @@
; Test that a prototype can be marked const, and the definition is allowed ; Test that a prototype can be marked const, and the definition is allowed
; to be nonconst. ; to be nonconst.
; RUN: echo "%X = global int 7" | llvm-upgrade | llvm-as > %t.2.bc ; RUN: echo {@X = global i32 7} | llvm-as > %t.2.bc
; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc ; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc
; RUN: llvm-link %t.[12].bc | llvm-dis | grep 'global i32 7' ; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep {global i32 7}
%X = external constant int @X = external constant i32

View File

@ -1,7 +1,7 @@
; RUN: echo "@G = appending global [0 x i32] zeroinitializer" | \ ; RUN: echo { @G = appending global \[0 x i32\] zeroinitializer } | \
; RUN: llvm-as > %t.out2.bc ; RUN: llvm-as > %t.out2.bc
; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc ; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc
; RUN: llvm-link %t.out[12].bc | llvm-dis | grep '@G =' ; RUN: llvm-link %t.out1.bc %t.out2.bc | llvm-dis | grep {@G =}
; When linked, the globals should be merged, and the result should still ; When linked, the globals should be merged, and the result should still
; be named '@G'. ; be named '@G'.

View File

@ -1,4 +1,5 @@
; RUN: llvm-upgrade < %s | llvm-as -f -o %s.bc ; llvm-link -f -o %s.linked %s.bc ; RUN: llvm-upgrade < %s | llvm-as -f -o %s.bc
; RUN: llvm-link -f -o %s.linked %s.bc
target endian = big target endian = big
target pointersize = 32 target pointersize = 32

View File

@ -1,7 +1,7 @@
; The linker should choose the largest alignment when linking. ; The linker should choose the largest alignment when linking.
; RUN: echo "%X = global int 7, align 8" | llvm-upgrade | llvm-as > %t.2.bc ; RUN: echo {@X = global i32 7, align 8} | llvm-as > %t.2.bc
; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc ; RUN: llvm-as < %s > %t.1.bc
; RUN: llvm-link %t.[12].bc | llvm-dis | grep 'align 8' ; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep {align 8}
%X = weak global int 7, align 4 @X = weak global i32 7, align 4

View File

@ -1,9 +1,9 @@
; Test that appending linkage works correctly. ; Test that appending linkage works correctly.
; RUN: echo "%X = appending global [1x int] [int 8]" | llvm-upgrade | \ ; RUN: echo {%X = appending global \[1 x int\] \[int 8\] } | \
; RUN: llvm-as > %t.2.bc ; RUN: llvm-upgrade | llvm-as > %t.2.bc
; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc ; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc
; RUN: llvm-link %t.[12].bc | llvm-dis | grep 7 | grep 4 | grep 8 ; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep 7 | grep 4 | grep 8
%X = appending global [2 x int] [int 7, int 4] %X = appending global [2 x int] [int 7, int 4]

View File

@ -1,7 +1,8 @@
; Test that appending linkage works correctly when arrays are the same size. ; Test that appending linkage works correctly when arrays are the same size.
; RUN: echo "%X = appending global [1x int] [int 8]" | llvm-upgrade | llvm-as > %t.2.bc ; RUN: echo {%X = appending global \[1 x int\] \[int 8\] } | \
; RUN: llvm-upgrade | llvm-as > %t.2.bc
; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc ; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc
; RUN: llvm-link %t.[12].bc | llvm-dis | grep 7 | grep 8 ; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep 7 | grep 8
%X = appending global [1 x int] [int 7] %X = appending global [1 x int] [int 7]

View File

@ -1,7 +1,8 @@
; Test that appending linkage works correctly when arrays are the same size. ; Test that appending linkage works correctly when arrays are the same size.
; RUN: echo "%X = constant [1x int] [int 8]" | llvm-upgrade | llvm-as > %t.2.bc ; RUN: echo {%X = constant \[1 x int\] \[int 8\] } | \
; RUN: llvm-upgrade | llvm-as > %t.2.bc
; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc ; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc
; RUN: llvm-link %t.[12].bc | llvm-dis | grep constant ; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep constant
%X = uninitialized global [1 x int] %X = uninitialized global [1 x int]

View File

@ -1,7 +1,8 @@
; Test that appending linkage works correctly when arrays are the same size. ; Test that appending linkage works correctly when arrays are the same size.
; RUN: echo "%X = external global [1x int]" | llvm-upgrade | llvm-as > %t.2.bc ; RUN: echo {%X = external global \[1 x int\] } | \
; RUN: llvm-upgrade | llvm-as > %t.2.bc
; RUN: llvm-upgrade %s -o - | llvm-as > %t.1.bc ; RUN: llvm-upgrade %s -o - | llvm-as > %t.1.bc
; RUN: llvm-link %t.[12].bc | llvm-dis | grep constant ; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep constant
%X = constant [1 x int] [ int 12 ] %X = constant [1 x int] [ int 12 ]

View File

@ -1,7 +1,8 @@
; Test that appending linkage works correctly when arrays are the same size. ; Test that appending linkage works correctly when arrays are the same size.
; RUN: echo "%X = external constant [1x int]" | llvm-upgrade | llvm-as > %t.2.bc ; RUN: echo {%X = external constant \[1 x int\] } | \
; RUN: llvm-upgrade | llvm-as > %t.2.bc
; RUN: llvm-upgrade %s | llvm-as > %t.1.bc ; RUN: llvm-upgrade %s | llvm-as > %t.1.bc
; RUN: llvm-link %t.[12].bc | llvm-dis | grep constant ; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep constant
%X = uninitialized global [1 x int] %X = uninitialized global [1 x int]

View File

@ -3,6 +3,6 @@
; RUN: echo "%X = linkonce global int 8" | llvm-upgrade | llvm-as > %t.2.bc ; RUN: echo "%X = linkonce global int 8" | llvm-upgrade | llvm-as > %t.2.bc
; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc ; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc
; RUN: llvm-link %t.[12].bc | llvm-dis ; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis
%X = linkonce global int 7 %X = linkonce global int 7

View File

@ -1,3 +1,3 @@
load_lib llvm-dg.exp load_lib llvm.exp
llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]

View File

@ -2,9 +2,9 @@
; in different modules. ; in different modules.
; RUN: llvm-as %s -o %t.foo1.bc -f ; RUN: llvm-as %s -o %t.foo1.bc -f
; RUN: llvm-as %s -o %t.foo2.bc -f ; RUN: llvm-as %s -o %t.foo2.bc -f
; RUN: echo "define void @foo(i32 %x) { ret void }" | llvm-as -o %t.foo3.bc -f ; RUN: echo {define void @foo(i32 %x) { ret void }} | llvm-as -o %t.foo3.bc -f
; RUN: llvm-link %t.foo1.bc %t.foo2.bc -o %t.bc 2>&1 | \ ; RUN: ignore llvm-link %t.foo1.bc %t.foo2.bc -o %t.bc |& \
; RUN: grep "Function is already defined" ; RUN: grep {Function is already defined}
; RUN: llvm-link %t.foo1.bc %t.foo3.bc -o %t.bc 2>&1 | \ ; RUN: ignore llvm-link %t.foo1.bc %t.foo3.bc -o %t.bc |& \
; RUN: grep "Function 'foo' defined as both" ; RUN: grep {Function 'foo' defined as both}
define void @foo() { ret void } define void @foo() { ret void }

View File

@ -1,5 +1,5 @@
; RUN: llvm-upgrade < %s | llvm-as > %t.bc ; RUN: llvm-upgrade < %s | llvm-as > %t.bc
; RUN: llvm-upgrade < `dirname %s`/testlink2.ll | llvm-as > %t2.bc ; RUN: llvm-upgrade < %p/testlink2.ll | llvm-as > %t2.bc
; RUN: llvm-link %t.bc %t2.bc ; RUN: llvm-link %t.bc %t2.bc
%MyVar = external global int %MyVar = external global int

View File

@ -1,9 +1,9 @@
; RUN: llvm-upgrade < %s | llvm-as > %t.bc ; RUN: llvm-upgrade < %s | llvm-as > %t.bc
; RUN: llvm-upgrade < `dirname %s`/testlink1.ll | llvm-as > %t2.bc ; RUN: llvm-upgrade < %p/testlink1.ll | llvm-as > %t2.bc
; RUN: llvm-link %t.bc %t.bc %t2.bc -o %t1.bc -f ; RUN: llvm-link %t.bc %t.bc %t2.bc -o %t1.bc -f
; RUN: llvm-dis < %t1.bc | grep "kallsyms_names = extern_weak" && ; RUN: llvm-dis < %t1.bc | grep {kallsyms_names = extern_weak}
; RUN: llvm-dis < %t1.bc | grep "MyVar = external global i32" && ; RUN: llvm-dis < %t1.bc | grep {MyVar = external global i32}
; RUN: llvm-dis < %t1.bc | grep "Inte = global i32" ; RUN: llvm-dis < %t1.bc | grep {Inte = global i32}
%kallsyms_names = extern_weak global [0 x ubyte] %kallsyms_names = extern_weak global [0 x ubyte]
%MyVar = extern_weak global int %MyVar = extern_weak global int