diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/parm-impl-decl-1.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/parm-impl-decl-1.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/parm-impl-decl-1.c b/gcc/testsuite/gcc.dg/parm-impl-decl-1.c new file mode 100644 index 000000000..467c19abd --- /dev/null +++ b/gcc/testsuite/gcc.dg/parm-impl-decl-1.c @@ -0,0 +1,33 @@ +/* Test implicit function declarations and other odd declarations in + function prototypes. Bug 18239. */ +/* Origin: Joseph Myers <joseph@codesourcery.com> */ +/* { dg-do compile } */ +/* { dg-options "" } */ + +/* Implicit function declaration in attribute in definition (testcase + from bug). */ +int +foo (int __attribute__ ((__mode__ (vector_size(8)))) i) /* { dg-warning "'__mode__' attribute ignored" } */ +{ + return (long long) i; +} + +/* Various other cases. */ + +int f (int [sizeof(g())]); +int f1 (int [sizeof(g1())]); + +int g () { return 1; } + +int +h (int (*p)[sizeof(i())]) +{ + int g2 (), g3 (); + return (*p)[0] + g3() + g2(); +} + +int i () { return 2; } + +int f2 (int [sizeof(g2())]); +int f3 (int [sizeof(g3())]); +int g3 () { return 4; } |