1 /* { dg-do compile } */
2 /* { dg-options "-O -fwhole-program" } */
4 static void foo1 (void) { } /* { dg-warning "have effect only on public" } */
5 extern void foo1 (void) __attribute__((externally_visible
));
9 __attribute__((externally_visible
)) void foo3 (void) { } /* { dg-warning "have effect only on public" } */
12 __attribute__((externally_visible
)) static void foo3 (void) { } /* { dg-warning "have effect only on public" } */
15 extern int bar1
__attribute__((externally_visible
)); /* { dg-warning "have effect only on public" } */
17 static int bar2
__attribute__((externally_visible
)); /* { dg-warning "have effect only on public" } */
21 static int bar3
__attribute__((externally_visible
)); /* { dg-warning "have effect only on public" } */
26 int bar4
__attribute__((externally_visible
)); /* { dg-warning "have effect only on public" } */
31 } __attribute__((externally_visible
)); /* { dg-warning "does not apply to types" } */
33 typedef int B
__attribute__((externally_visible
)); /* { dg-warning "attribute ignored" } */