diff options
Diffstat (limited to 'test/SemaCXX/anonymous-union.cpp')
-rw-r--r-- | test/SemaCXX/anonymous-union.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/test/SemaCXX/anonymous-union.cpp b/test/SemaCXX/anonymous-union.cpp index 9c2cf24..fde27b0 100644 --- a/test/SemaCXX/anonymous-union.cpp +++ b/test/SemaCXX/anonymous-union.cpp @@ -197,3 +197,12 @@ namespace PR8326 { Foo<int> baz; } + +namespace PR16630 { + struct A { union { int x; float y; }; }; // expected-note {{member is declared here}} + struct B : private A { using A::x; } b; // expected-note 2 {{private}} + void foo () { + b.x = 10; + b.y = 0; // expected-error {{cannot cast 'struct B' to its private base class 'PR16630::A'}} expected-error {{'y' is a private member of 'PR16630::A'}} + } +} |