| // RUN: clang-cc %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); } |