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