annotate gcc/testsuite/g++.dg/warn/translate-ice-1.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 // Test ICE in caching printable names for a function.
kono
parents:
diff changeset
2 // { dg-options "-std=c++98 -pedantic -O2" }
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 void g (int a) __attribute__((warning("g")));
kono
parents:
diff changeset
5 void g2 (int a, int *p);
kono
parents:
diff changeset
6 static inline __attribute__((__always_inline__)) void
kono
parents:
diff changeset
7 gg (int a)
kono
parents:
diff changeset
8 {
kono
parents:
diff changeset
9 if (a == 0)
kono
parents:
diff changeset
10 return g(a); // { dg-warning "attribute" }
kono
parents:
diff changeset
11 __extension__ int v[a];
kono
parents:
diff changeset
12 return g2(a, v);
kono
parents:
diff changeset
13 }
kono
parents:
diff changeset
14
kono
parents:
diff changeset
15 void h (int a) __attribute__((warning("h")));
kono
parents:
diff changeset
16 void h2 (int a, int *p);
kono
parents:
diff changeset
17 static inline __attribute__((__always_inline__)) void
kono
parents:
diff changeset
18 hh (int a)
kono
parents:
diff changeset
19 {
kono
parents:
diff changeset
20 if (a == 0)
kono
parents:
diff changeset
21 return h(a); // { dg-warning "attribute" }
kono
parents:
diff changeset
22 __extension__ int v[a];
kono
parents:
diff changeset
23 return h2(a, v);
kono
parents:
diff changeset
24 }
kono
parents:
diff changeset
25
kono
parents:
diff changeset
26 void i (int a) __attribute__((warning("i")));
kono
parents:
diff changeset
27 void i2 (int a, int *p);
kono
parents:
diff changeset
28 static inline __attribute__((__always_inline__)) void
kono
parents:
diff changeset
29 ii (int a)
kono
parents:
diff changeset
30 {
kono
parents:
diff changeset
31 if (a == 0)
kono
parents:
diff changeset
32 return i(a); // { dg-warning "attribute" }
kono
parents:
diff changeset
33 __extension__ int v[a];
kono
parents:
diff changeset
34 return i2(a, v);
kono
parents:
diff changeset
35 }
kono
parents:
diff changeset
36
kono
parents:
diff changeset
37 void
kono
parents:
diff changeset
38 f (void)
kono
parents:
diff changeset
39 {
kono
parents:
diff changeset
40 long long l; // { dg-warning "long long" }
kono
parents:
diff changeset
41 const char *p = __PRETTY_FUNCTION__;
kono
parents:
diff changeset
42 gg(0);
kono
parents:
diff changeset
43 hh(0);
kono
parents:
diff changeset
44 ii(0);
kono
parents:
diff changeset
45 }