1 /* Test implicit function declarations and other odd declarations in
2    function prototypes.  Bug 18239.  */
3 /* Origin: Joseph Myers <joseph@codesourcery.com> */
4 /* { dg-do compile } */
5 /* { dg-options "" } */
6 
7 /* Implicit function declaration in attribute in definition (testcase
8    from bug).  */
9 int
foo(int i)10 foo (int __attribute__ ((__mode__ (vector_size(8)))) i) /* { dg-warning "'__mode__' attribute ignored" } */
11 {
12   return (long long) i;
13 }
14 
15 /* Various other cases.  */
16 
17 int f (int [sizeof(g())]);
18 int f1 (int [sizeof(g1())]);
19 
g()20 int g () { return 1; }
21 
22 int
h(int (* p)[sizeof (i ())])23 h (int (*p)[sizeof(i())])
24 {
25   int g2 (), g3 ();
26   return (*p)[0] + g3() + g2();
27 }
28 
i()29 int i () { return 2; }
30 
31 int f2 (int [sizeof(g2())]);
32 int f3 (int [sizeof(g3())]);
g3()33 int g3 () { return 4; }
34