diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/ext/visibility/warn2.C')
-rw-r--r-- | gcc/testsuite/g++.dg/ext/visibility/warn2.C | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/ext/visibility/warn2.C b/gcc/testsuite/g++.dg/ext/visibility/warn2.C new file mode 100644 index 000000000..475179fd6 --- /dev/null +++ b/gcc/testsuite/g++.dg/ext/visibility/warn2.C @@ -0,0 +1,16 @@ +// Complain when a class is specified with greater visibility than one of +// its members' types or bases. + +// { dg-require-visibility "" } + +namespace N __attribute ((__visibility__ ("hidden"))) +{ + struct A { }; +} + +struct B // { dg-warning "visibility" } +{ + N::A a; +}; + +struct C: public N::A { }; // { dg-warning "visibility" } |