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