blob: c8d17f0078e66eec7c8df274703bf30c5133bba7 [file] [log] [blame]
Daniel Dunbarffd408a2009-03-24 02:24:46 +00001// RUN: clang-cc -fsyntax-only -verify -pedantic %s
Steve Naroffc88babe2008-01-09 22:43:08 +00002
3char *funk(int format);
4enum Test {A=-1};
5char *funk(enum Test x);
6
Chris Lattner1336cab2008-11-23 23:12:31 +00007int eli(float b); // expected-note {{previous declaration is here}}
Steve Narofff8a09432008-01-09 23:34:55 +00008int b(int c) {return 1;}
9
Chris Lattner60476ff2007-11-20 19:04:50 +000010int foo();
Mike Stump25cf7602009-09-09 15:08:12 +000011int foo() {
12 int eli(int (int)); // expected-error {{conflicting types for 'eli'}}
13 eli(b); // expected-error{{incompatible type passing}}
14 return 0;
Chris Lattner60476ff2007-11-20 19:04:50 +000015}
16
17int bar();
Chris Lattner1336cab2008-11-23 23:12:31 +000018int bar(int i) // expected-note {{previous definition is here}}
Chris Lattner60476ff2007-11-20 19:04:50 +000019{
Mike Stump25cf7602009-09-09 15:08:12 +000020 return 0;
Chris Lattner60476ff2007-11-20 19:04:50 +000021}
Chris Lattnerec9361f2008-02-17 19:31:09 +000022int bar() // expected-error {{redefinition of 'bar'}}
Chris Lattner60476ff2007-11-20 19:04:50 +000023{
Mike Stump25cf7602009-09-09 15:08:12 +000024 return 0;
Chris Lattner60476ff2007-11-20 19:04:50 +000025}
26
Chris Lattner1336cab2008-11-23 23:12:31 +000027int foobar(int); // note {{previous declaration is here}}
Chris Lattner4f5f04a2008-11-21 01:05:35 +000028int foobar() // error {{conflicting types for 'foobar'}}
Chris Lattner60476ff2007-11-20 19:04:50 +000029{
Mike Stump25cf7602009-09-09 15:08:12 +000030 return 0;
Chris Lattner60476ff2007-11-20 19:04:50 +000031}
32
Chris Lattner1336cab2008-11-23 23:12:31 +000033int wibble(); // expected-note {{previous declaration is here}}
Steve Naroff6c9e7922008-01-16 15:01:34 +000034float wibble() // expected-error {{conflicting types for 'wibble'}}
Chris Lattner60476ff2007-11-20 19:04:50 +000035{
Mike Stump25cf7602009-09-09 15:08:12 +000036 return 0.0f;
Chris Lattner60476ff2007-11-20 19:04:50 +000037}