1 // RUN: %clang_cc1 -fsyntax-only -verify -pedantic %s
2 
3 char *funk(int format);
4 enum Test {A=-1};
5 char *funk(enum Test x);
6 
7 int eli(float b); // expected-note {{previous declaration is here}}
b(int c)8 int b(int c) {return 1;}
9 
10 int foo();
foo()11 int foo() {
12   int eli(int (int)); // expected-error {{conflicting types for 'eli'}}
13   eli(b);
14   return 0;
15 }
16 
17 int bar();
bar(int i)18 int bar(int i) // expected-note {{previous definition is here}}
19 {
20   return 0;
21 }
bar()22 int bar() // expected-error {{redefinition of 'bar'}}
23 {
24   return 0;
25 }
26 
27 int foobar(int); // note {{previous declaration is here}}
foobar()28 int foobar() // error {{conflicting types for 'foobar'}}
29 {
30   return 0;
31 }
32 
33 int wibble(); // expected-note {{previous declaration is here}}
wibble()34 float wibble() // expected-error {{conflicting types for 'wibble'}}
35 {
36   return 0.0f;
37 }
38