mirror of
https://github.com/intel/llvm.git
synced 2026-02-01 00:46:45 +08:00
- This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). llvm-svn: 91446
41 lines
581 B
C
41 lines
581 B
C
// RUN: %clang_cc1 %s -emit-llvm -o %t
|
|
|
|
int g();
|
|
|
|
int foo(int i) {
|
|
return g(i);
|
|
}
|
|
|
|
int g(int i) {
|
|
return g(i);
|
|
}
|
|
|
|
// rdar://6110827
|
|
typedef void T(void);
|
|
void test3(T f) {
|
|
f();
|
|
}
|
|
|
|
int a(int);
|
|
int a() {return 1;}
|
|
|
|
// RUN: grep 'define void @f0()' %t
|
|
void f0() {}
|
|
|
|
void f1();
|
|
// RUN: grep 'call void @f1()' %t
|
|
void f2(void) {
|
|
f1(1, 2, 3);
|
|
}
|
|
// RUN: grep 'define void @f1()' %t
|
|
void f1() {}
|
|
|
|
// RUN: grep 'define .* @f3' %t | not grep -F '...'
|
|
struct foo { int X, Y, Z; } f3() {
|
|
while (1) {}
|
|
}
|
|
|
|
// PR4423 - This shouldn't crash in codegen
|
|
void f4() {}
|
|
void f5() { f4(42); }
|