// Test ICE in caching printable names for a function. // { dg-options "-std=c++98 -pedantic -O2" } void g (int a) __attribute__((warning("g"))); void g2 (int a, int *p); static inline __attribute__((__always_inline__)) void gg (int a) { if (a == 0) return g(a); // { dg-warning "attribute" } __extension__ int v[a]; return g2(a, v); } void h (int a) __attribute__((warning("h"))); void h2 (int a, int *p); static inline __attribute__((__always_inline__)) void hh (int a) { if (a == 0) return h(a); // { dg-warning "attribute" } __extension__ int v[a]; return h2(a, v); } void i (int a) __attribute__((warning("i"))); void i2 (int a, int *p); static inline __attribute__((__always_inline__)) void ii (int a) { if (a == 0) return i(a); // { dg-warning "attribute" } __extension__ int v[a]; return i2(a, v); } void f (void) { long long l; // { dg-warning "long long" } const char *p = __PRETTY_FUNCTION__; gg(0); hh(0); ii(0); }