Home | History | Annotate | Download | only in class.access.nest
      1 // RUN: %clang_cc1 -fsyntax-only -verify %s
      2 
      3 // Derived from GNU's std::string
      4 namespace test0 {
      5   class A {
      6     struct B {
      7       unsigned long length;
      8     };
      9     struct C : B {
     10       static const unsigned long max_length;
     11     };
     12   };
     13 
     14   const unsigned long A::C::max_length = sizeof(B);
     15 }
     16 
     17 // Example from the standard.
     18 namespace test1 {
     19   class E {
     20     int x;
     21     class B {};
     22 
     23     class I {
     24       B b;
     25       int y; // expected-note {{declared private here}}
     26       void f(E* p, int i) {
     27         p->x = i;
     28       }
     29     };
     30 
     31     int g(I* p) { return p->y; } // expected-error {{'y' is a private member of 'test1::E::I'}}
     32   };
     33 }
     34