| /* PR c/35017 */ |
| /* { dg-do compile } */ |
| /* { dg-options "-std=gnu89" } */ |
| |
| static int a = 6; |
| static const int b = 6; |
| int c = 6; |
| |
| inline int |
| fn1 (void) |
| { |
| return a; |
| } |
| |
| inline int |
| fn2 (void) |
| { |
| return b; |
| } |
| |
| inline int |
| fn3 (void) |
| { |
| return c; |
| } |
| |
| inline int |
| fn4 (void) |
| { |
| static int d = 6; |
| return d; |
| } |
| |
| inline int |
| fn5 (void) |
| { |
| static const int e = 6; |
| return e; |
| } |
| |
| inline int |
| fn6 (void) |
| { |
| int f = 6; |
| return f; |
| } |
| |
| inline int |
| fn7 (int i) |
| { |
| static const char g[10] = "abcdefghij"; |
| return g[i]; |
| } |
| |
| extern inline int |
| fn8 (void) |
| { |
| return a; /* { dg-warning "used in inline" } */ |
| } |
| |
| extern inline int |
| fn9 (void) |
| { |
| return b; /* { dg-warning "used in inline" } */ |
| } |
| |
| extern inline int |
| fn10 (void) |
| { |
| return c; |
| } |
| |
| extern inline int |
| fn11 (void) |
| { |
| static int d = 6; /* { dg-warning "declared in inline" } */ |
| return d; |
| } |
| |
| extern inline int |
| fn12 (void) |
| { |
| static const int e = 6; |
| return e; |
| } |
| |
| extern inline int |
| fn13 (void) |
| { |
| int f = 6; |
| return f; |
| } |
| |
| extern inline int |
| fn14 (int i) |
| { |
| static const char g[10] = "abcdefghij"; |
| return g[i]; |
| } |
| |
| static inline int |
| fn15 (void) |
| { |
| return a; |
| } |
| |
| static inline int |
| fn16 (void) |
| { |
| return b; |
| } |
| |
| static inline int |
| fn17 (void) |
| { |
| return c; |
| } |
| |
| static inline int |
| fn18 (void) |
| { |
| static int d = 6; |
| return d; |
| } |
| |
| static inline int |
| fn19 (void) |
| { |
| static const int e = 6; |
| return e; |
| } |
| |
| static inline int |
| fn20 (void) |
| { |
| int f = 6; |
| return f; |
| } |
| |
| static inline int |
| fn21 (int i) |
| { |
| static const char g[10] = "abcdefghij"; |
| return g[i]; |
| } |