| /* PR middle-end/92799 - ICE on a weakref function definition followed |
| by a declaration |
| { dg-do compile } |
| { dg-options "-Wall" } */ |
| |
| static __attribute__ ((weakref ("bar"))) void f0 (void) { } // { dg-warning "'weakref' attribute ignored because function is defined" } |
| |
| extern void f0 (void); |
| |
| void* use_f0 (void) { return f0; } |
| |
| |
| static __attribute__ ((weakref ("bar"))) void f1 (void) { } // { dg-warning "'weakref' attribute ignored because function is defined" } |
| |
| static void f1 (void); |
| |
| void* use_f1 (void) { return f1; } |
| |
| |
| static __attribute__ ((weakref ("bar"))) void f2 (void); |
| |
| static void f2 (void) { } // { dg-error "redefinition" } |
| |
| void* use_f2 (void) { return f2; } |
| |
| |
| static __attribute__ ((weakref ("bar"))) void f3 (void); |
| |
| void f3 (void) { } // { dg-error "redefinition" } |
| |
| void* use_f3 (void) { return f3; } |