diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/parm-mismatch-1.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/parm-mismatch-1.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/parm-mismatch-1.c b/gcc/testsuite/gcc.dg/parm-mismatch-1.c new file mode 100644 index 000000000..8f62e122b --- /dev/null +++ b/gcc/testsuite/gcc.dg/parm-mismatch-1.c @@ -0,0 +1,18 @@ +/* Test diagnostics for parameter mismatches. Types that can't match + (). */ +/* Origin: Joseph Myers <joseph@codesourcery.com> */ +/* { dg-do compile } */ +/* { dg-options "" } */ + +void f0(); /* { dg-message "note: previous declaration of 'f0' was here" } */ +void f0(int, ...); /* { dg-error "conflicting types for 'f0'" } */ +/* { dg-message "note: a parameter list with an ellipsis can't match an empty parameter name list declaration" "note" { target *-*-* } 8 } */ +void f1(int, ...); /* { dg-message "note: previous declaration of 'f1' was here" } */ +void f1(); /* { dg-error "conflicting types for 'f1'" } */ +/* { dg-message "note: a parameter list with an ellipsis can't match an empty parameter name list declaration" "note" { target *-*-* } 11 } */ +void f2(); /* { dg-message "note: previous declaration of 'f2' was here" } */ +void f2(char); /* { dg-error "conflicting types for 'f2'" } */ +/* { dg-message "note: an argument type that has a default promotion can't match an empty parameter name list declaration" "note" { target *-*-* } 14 } */ +void f3(char); /* { dg-message "note: previous declaration of 'f3' was here" } */ +void f3(); /* { dg-error "conflicting types for 'f3'" } */ +/* { dg-message "note: an argument type that has a default promotion can't match an empty parameter name list declaration" "note" { target *-*-* } 17 } */ |