1 /* Test diagnostics for parameter mismatches.  Types that can't match
2    ().  */
3 /* Origin: Joseph Myers <joseph@codesourcery.com> */
4 /* { dg-do compile } */
5 /* { dg-options "" } */
6 
7 void f0(); /* { dg-message "note: previous declaration of 'f0' was here" } */
8 void f0(int, ...); /* { dg-error "conflicting types for 'f0'" } */
9 /* { dg-message "note: a parameter list with an ellipsis can't match an empty parameter name list declaration" "note" { target *-*-* } 8 } */
10 void f1(int, ...); /* { dg-message "note: previous declaration of 'f1' was here" } */
11 void f1(); /* { dg-error "conflicting types for 'f1'" } */
12 /* { dg-message "note: a parameter list with an ellipsis can't match an empty parameter name list declaration" "note" { target *-*-* } 11 } */
13 void f2(); /* { dg-message "note: previous declaration of 'f2' was here" } */
14 void f2(char); /* { dg-error "conflicting types for 'f2'" } */
15 /* { dg-message "note: an argument type that has a default promotion can't match an empty parameter name list declaration" "note" { target *-*-* } 14 } */
16 void f3(char); /* { dg-message "note: previous declaration of 'f3' was here" } */
17 void f3(); /* { dg-error "conflicting types for 'f3'" } */
18 /* { dg-message "note: an argument type that has a default promotion can't match an empty parameter name list declaration" "note" { target *-*-* } 17 } */
19