diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.dg/dremf-type-compat-3.c')
-rw-r--r-- | gcc-4.9/gcc/testsuite/gcc.dg/dremf-type-compat-3.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.dg/dremf-type-compat-3.c b/gcc-4.9/gcc/testsuite/gcc.dg/dremf-type-compat-3.c new file mode 100644 index 000000000..3934a64e1 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/gcc.dg/dremf-type-compat-3.c @@ -0,0 +1,18 @@ +/* Test for bogus diagnostics for dremf definition. Although this + definition is formally incorrect in ISO C, a GNU extension permits + a prototype followed by unpromoted types in a function definition, + so it should be permitted when the function is built in. Bug + 16666. Test with -pedantic-errors, where the problem should still + be diagnosed. */ +/* { dg-do compile } */ +/* { dg-options "-pedantic-errors" } */ + +float dremf (float, float); /* { dg-error "prototype declaration" } */ + +float +dremf (x, y) + float x; /* { dg-error "promoted argument 'x' doesn't match prototype" } */ + float y; /* { dg-error "promoted argument 'y' doesn't match prototype" } */ +{ + return x + y; +} |