| /* Test implicit function declarations and other odd declarations in |
| function prototypes. Bug 18239. */ |
| /* Origin: Joseph Myers <joseph@codesourcery.com> */ |
| /* { dg-do compile } */ |
| /* { dg-options "-std=gnu89" } */ |
| |
| /* 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; } |