diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/pr15698-8.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/pr15698-8.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/pr15698-8.c b/gcc/testsuite/gcc.dg/pr15698-8.c new file mode 100644 index 000000000..ee0c3ae46 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr15698-8.c @@ -0,0 +1,11 @@ +/* Test diagnostics for old-style definition not matching prior + prototype are present and give correct location for that prototype + (bug 15698). Prototype refined at inner scope with only refinement + conflicting with definition. */ +/* Origin: Joseph Myers <joseph@codesourcery.com> */ +/* { dg-do compile } */ +/* { dg-options "-std=gnu99" } */ + +int f(int (*)[]); +int g() { int f(int (*)[2]); } /* { dg-error "prototype declaration" } */ +int f(a) int (*a)[3]; { return 0; } /* { dg-error "argument 'a' doesn't match prototype" } */ |