| /* Diagnostics for bad references to static objects and functions from |
| inline definitions must take account of declarations after the |
| definition which make it not an inline definition. PR 39556. */ |
| /* { dg-do compile } */ |
| /* { dg-options "-std=c99 -pedantic-errors" } */ |
| |
| static int a1; |
| inline int f1 (void) { return a1; } |
| int f1 (void); |
| |
| static int a2; |
| inline int f2 (void) { return a2; } |
| extern inline int f2 (void); |
| |
| inline void f3 (void) { static int a3; } |
| void f3 (void); |
| |
| inline void f4 (void) { static int a4; } |
| extern inline void f4 (void); |