111
|
1 // Test ICE in caching printable names for a function.
|
|
2 // { dg-options "-std=c++98 -pedantic -O2" }
|
|
3
|
|
4 void g (int a) __attribute__((warning("g")));
|
|
5 void g2 (int a, int *p);
|
|
6 static inline __attribute__((__always_inline__)) void
|
|
7 gg (int a)
|
|
8 {
|
|
9 if (a == 0)
|
|
10 return g(a); // { dg-warning "attribute" }
|
|
11 __extension__ int v[a];
|
|
12 return g2(a, v);
|
|
13 }
|
|
14
|
|
15 void h (int a) __attribute__((warning("h")));
|
|
16 void h2 (int a, int *p);
|
|
17 static inline __attribute__((__always_inline__)) void
|
|
18 hh (int a)
|
|
19 {
|
|
20 if (a == 0)
|
|
21 return h(a); // { dg-warning "attribute" }
|
|
22 __extension__ int v[a];
|
|
23 return h2(a, v);
|
|
24 }
|
|
25
|
|
26 void i (int a) __attribute__((warning("i")));
|
|
27 void i2 (int a, int *p);
|
|
28 static inline __attribute__((__always_inline__)) void
|
|
29 ii (int a)
|
|
30 {
|
|
31 if (a == 0)
|
|
32 return i(a); // { dg-warning "attribute" }
|
|
33 __extension__ int v[a];
|
|
34 return i2(a, v);
|
|
35 }
|
|
36
|
|
37 void
|
|
38 f (void)
|
|
39 {
|
|
40 long long l; // { dg-warning "long long" }
|
|
41 const char *p = __PRETTY_FUNCTION__;
|
|
42 gg(0);
|
|
43 hh(0);
|
|
44 ii(0);
|
|
45 }
|