// 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); }
