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" } */