Fix some codegen tests to include positive checks.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89465 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Daniel Dunbar 2009-11-20 17:23:39 +00:00
Родитель 50a4487683
Коммит 600d47e8d5
5 изменённых файлов: 38 добавлений и 9 удалений

Просмотреть файл

@ -1,10 +1,14 @@
// RUN: rm -f %t1.bc
// RUN: clang-cc -DPASS %s -emit-llvm-bc -o %t1.bc
// RUN: test -f %t1.bc
// RUN: not clang-cc %s -emit-llvm-bc -o %t1.bc
// RUN: not test -f %t1.bc
void f() {
}
#ifndef PASS
void g() {
*10;
}
#endif

Просмотреть файл

@ -1,4 +1,4 @@
// RUN: clang-cc -emit-llvm < %s 2>&1 | not grep 'cannot codegen this l-value expression yet'
// RUN: clang-cc -emit-llvm -o - %s | FileCheck %s
struct frk { float _Complex c; int x; };
struct faz { struct frk f; };
@ -10,14 +10,17 @@ int X;
struct frk F;
float _Complex C;
// CHECK: define void @bar
void bar(void) {
X = foo().f.f.x;
}
// CHECK: define void @bun
void bun(void) {
F = foo().f.f;
}
// CHECK: define void @ban
void ban(void) {
C = foo().f.f.c;
}

Просмотреть файл

@ -1,4 +1,7 @@
// RUN: clang-cc -emit-llvm %s -o - | not grep opaque
// RUN: clang-cc -emit-llvm -o - %s | FileCheck %s
// CHECK: ModuleID
// CHECK-NOT: opaque
// CHECK: define void @f0
enum teste1 test1f(void), (*test1)(void) = test1f;
struct tests2 test2f(), (*test2)() = test2f;
@ -8,3 +11,4 @@ enum teste1 { TEST1 };
struct tests2 { int x,y,z,a,b,c,d,e,f,g; };
struct tests3 { float x; };
void f0() {}

Просмотреть файл

@ -1,4 +1,7 @@
// RUN: clang-cc -emit-llvm -o - %s | not grep "zeroinitializer"
// RUN: clang-cc -emit-llvm -o - %s | FileCheck %s
// CHECK: ModuleID
// CHECK-NOT: zeroinitializer
// CHECK: define i8* @f
struct s {
int a;

Просмотреть файл

@ -1,11 +1,11 @@
// RUN: clang-cc %s -emit-llvm-bc -o - | opt -std-compile-opts -disable-output
// RUN: clang-cc -triple i386-unknown-unknown -O3 %s -emit-llvm -o - | FileCheck %s
int foo(int i) {
int j = 0;
switch (i) {
case -1:
j = 1; break;
case 1 :
case 1 :
j = 2; break;
case 2:
j = 3; break;
@ -16,11 +16,10 @@ int foo(int i) {
return j;
}
int foo2(int i) {
int j = 0;
switch (i) {
case 1 :
case 1 :
j = 2; break;
case 2 ... 10:
j = 3; break;
@ -31,7 +30,6 @@ int foo2(int i) {
return j;
}
int foo3(int i) {
int j = 0;
switch (i) {
@ -48,7 +46,7 @@ int foo3(int i) {
}
int foo4(int i) {
static int foo4(int i) {
int j = 0;
switch (i) {
case 111:
@ -65,6 +63,17 @@ int foo4(int i) {
return j;
}
// CHECK: define i32 @foo4t()
// CHECK: ret i32 376
// CHECK: }
int foo4t() {
// 111 + 1 + 222 + 42 = 376
return foo4(111) + foo4(99) + foo4(222) + foo4(601);
}
// CHECK: define void @foo5()
// CHECK-NOT: switch
// CHECK: }
void foo5(){
switch(0){
default:
@ -74,11 +83,17 @@ void foo5(){
}
}
// CHECK: define void @foo6()
// CHECK-NOT: switch
// CHECK: }
void foo6(){
switch(0){
}
}
// CHECK: define void @foo7()
// CHECK-NOT: switch
// CHECK: }
void foo7(){
switch(0){
foo7();