All of these tests had out of date syntax and were never even running through

llvm-upgrade because nobody noticed them failing.

Update to use new syntax and actually check for the right failure by looking at
the error message.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48417 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Nick Lewycky 2008-03-16 07:55:46 +00:00
parent 917a5d9425
commit 3f63785cc6
7 changed files with 26 additions and 28 deletions

View File

@ -1,11 +1,10 @@
; RUN: not llvm-as -f %s -o /dev/null
; RUN: not llvm-as < %s |& grep {return type does not match operand type}
; Verify the the operand type of the ret instructions in a function match the
; delcared return type of the function they live in.
;
implementation
uint "testfunc"()
define i32 @testfunc()
begin
ret int* null
ret i32* null
end

View File

@ -1,9 +1,9 @@
; RUN: not llvm-as -f %s -o /dev/null
; RUN: not llvm-as < %s |& grep {Invalid getelementptr indices}
; This testcase is invalid because we are indexing into a pointer that is
; contained WITHIN a structure.
void %test({int, int*} * %X) {
getelementptr {int, int*} * %X, long 0, uint 1, long 0
define void @test({i32, i32*} * %X) {
getelementptr {i32, i32*} * %X, i32 0, i32 1, i32 0
ret void
}

View File

@ -1,5 +1,6 @@
; RUN: not llvm-as -f %s -o /dev/null
void %test() {
; RUN: not llvm-as < %s |& grep {Reference to an undefined type}
define void @test() {
malloc %InvalidType
ret void
}

View File

@ -1,11 +1,9 @@
; RUN: not llvm-as %s -o /dev/null -f
; RUN: not llvm-as < %s |& grep {Instruction operands must be first-class}
; PR826
%struct_4 = type { int }
%struct_4 = type { i32 }
implementation ; Functions:
void %test() {
define void @test() {
store %struct_4 zeroinitializer, %struct_4* null
unreachable
}

View File

@ -1,7 +1,7 @@
; RUN: not llvm-as < %s
; RUN: not llvm-as < %s |& grep {llvm intrinsics cannot be defined}
; PR1047
void %llvm.memcpy.i32(sbyte*, sbyte*, uint, uint) {
define void @llvm.memcpy.i32(i8*, i8*, i32, i32) {
entry:
ret void
}

View File

@ -1,10 +1,10 @@
; RUN: not llvm-as -f %s -o /dev/null
; RUN: not llvm-as < %s |& grep {multiple entries for the same basic block}
int "test"(int %i, int %j, bool %c) {
br bool %c, label %A, label %A
define i32 @test(i32 %i, i32 %j, i1 %c) {
br i1 %c, label %A, label %A
A:
%a = phi int [%i, %0], [%j, %0] ; Error, different values from same block!
ret int %a
%a = phi i32 [%i, %0], [%j, %0] ; Error, different values from same block!
ret i32 %a
}

View File

@ -1,17 +1,17 @@
; RUN: not llvm-as -f %s -o /dev/null
; RUN: not llvm-as < %s |& grep {PHI nodes not grouped at top}
int "test"(int %i, int %j, bool %c) {
br bool %c, label %A, label %B
define i32 @test(i32 %i, i32 %j, i1 %c) {
br i1 %c, label %A, label %B
A:
br label %C
B:
br label %C
C:
%a = phi int [%i, %A], [%j, %B]
%x = add int %a, 0 ; Error, PHI's should be grouped!
%b = phi int [%i, %A], [%j, %B]
ret int %x
%a = phi i32 [%i, %A], [%j, %B]
%x = add i32 %a, 0 ; Error, PHI's should be grouped!
%b = phi i32 [%i, %A], [%j, %B]
ret i32 %x
}