blob: 3b50df79f6deae873280e86941d9c2d76ac5179a [file] [log] [blame]
Daniel Dunbard5d31802009-02-19 07:15:39 +00001// RUN: clang %s -emit-llvm -o %t &&
2
Chris Lattner58c3f9e2007-12-02 06:27:33 +00003int g();
4
5int foo(int i) {
6 return g(i);
7}
8
9int g(int i) {
10 return g(i);
11}
12
Chris Lattner05d2fb42008-07-31 04:58:58 +000013// rdar://6110827
14typedef void T(void);
15void test3(T f) {
16 f();
17}
18
Douglas Gregor450da982009-02-16 20:58:07 +000019int a(int);
20int a() {return 1;}
Daniel Dunbard5d31802009-02-19 07:15:39 +000021
22// RUN: grep 'define void @f0()' %t &&
23void f0() {}
24
25void f1();
26// RUN: grep 'call void (...)\* bitcast (void ()\* @f1' %t &&
27void f2(void) {
28 f1(1, 2, 3);
29}
Chris Lattnerff75e1d2009-03-22 19:35:37 +000030// RUN: grep 'define void @f1()' %t &&
Daniel Dunbard5d31802009-02-19 07:15:39 +000031void f1() {}
Chris Lattnerff75e1d2009-03-22 19:35:37 +000032
33// RUN: grep 'define .* @f3' %t | not grep -F '...'
34struct foo { int X, Y, Z; } f3() {
35}