summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/warn/anonymous-namespace-2.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.dg/warn/anonymous-namespace-2.C')
-rw-r--r--gcc/testsuite/g++.dg/warn/anonymous-namespace-2.C29
1 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/warn/anonymous-namespace-2.C b/gcc/testsuite/g++.dg/warn/anonymous-namespace-2.C
new file mode 100644
index 000000000..4048f3959
--- /dev/null
+++ b/gcc/testsuite/g++.dg/warn/anonymous-namespace-2.C
@@ -0,0 +1,29 @@
+// Test for the warning of exposing types from an anonymous namespace
+// { dg-do compile }
+//
+#include "anonymous-namespace-2.h"
+
+namespace {
+ struct good { };
+}
+
+struct g1 {
+ good * A;
+};
+struct g2 {
+ good * A[1];
+};
+struct g3 {
+ good (*A)[1];
+};
+
+#line 21 "foo.C"
+struct b1 { // { dg-warning "uses the anonymous namespace" }
+ bad * B;
+};
+struct b2 { // { dg-warning "uses the anonymous namespace" }
+ bad * B[1];
+};
+struct b3 { // { dg-warning "uses the anonymous namespace" }
+ bad (*B)[1];
+};