OSDN Git Service

* g++.old-deja/g++.brendan/scope5.C: Changed "Class" to "Klasse".
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / parse / attr-externally-visible-2.C
1 // { dg-do compile }
2 // { dg-options "-O -fwhole-program" }
3
4 static void foo1 (void) { }                                     // { dg-warning "have effect only on public" }
5 extern void foo1 (void) __attribute__((externally_visible));
6
7 struct C
8 {
9   __attribute__((externally_visible)) void foo3 (void) { }
10 };
11
12 __attribute__((externally_visible)) static void foo3 (void) { } // { dg-warning "have effect only on public" }
13
14 static int bar1;
15 extern int bar1 __attribute__((externally_visible));            // { dg-warning "have effect only on public" }
16
17 static int bar2 __attribute__((externally_visible));            // { dg-warning "have effect only on public" }
18
19 void fn1 (void)
20 {
21   static int bar3 __attribute__((externally_visible));          // { dg-warning "have effect only on public" }
22 }
23
24 void fn2 (void)
25 {
26   int bar4 __attribute__((externally_visible));                 // { dg-warning "have effect only on public" }
27 }
28
29 struct A
30 {
31 } __attribute__((externally_visible));                          // { dg-warning "does not apply to types" }
32
33 typedef int B __attribute__((externally_visible));              // { dg-warning "attribute ignored" }
34
35 struct D
36 {
37   static int d __attribute__((externally_visible));
38 };