1  /* Test diagnostics for parameter mismatches.  Types that cannot 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'" "note" } */
       8  void f0(int, ...); /* { dg-error "conflicting types for 'f0'" } */
       9  /* { dg-message "note: a parameter list with an ellipsis cannot match an empty parameter name list declaration" "note" { target *-*-* } .-1 } */
      10  void f1(int, ...); /* { dg-message "note: previous declaration of 'f1'" "note" } */
      11  void f1(); /* { dg-error "conflicting types for 'f1'" } */
      12  /* { dg-message "note: a parameter list with an ellipsis cannot match an empty parameter name list declaration" "note" { target *-*-* } .-1 } */
      13  void f2(); /* { dg-message "note: previous declaration of 'f2'" "note" } */
      14  void f2(char); /* { dg-error "conflicting types for 'f2'" } */
      15  /* { dg-message "note: an argument type that has a default promotion cannot match an empty parameter name list declaration" "note" { target *-*-* } .-1 } */
      16  void f3(char); /* { dg-message "note: previous declaration of 'f3'" "note" } */
      17  void f3(); /* { dg-error "conflicting types for 'f3'" } */
      18  /* { dg-message "note: an argument type that has a default promotion cannot match an empty parameter name list declaration" "note" { target *-*-* } .-1 } */