Merge from mainline (167278:168000).
[official-gcc/graphite-test-results.git] / gcc / testsuite / g++.old-deja / g++.law / visibility24.C
blob3acd837079526b009fa0a5cdbad02e2091227dac
1 // { dg-do assemble  }
2 // GROUPS passed visibility
3 // visibility file
4 // From: joe@consolve.com (Joe Shapiro)
5 // Date:     Fri, 20 Aug 93 17:18:18 EDT
6 // Subject:  Template classes seem to allow users to get at private members
7 // Message-ID: <9308202118.AA25599@ghana.consolve>
8 /*
9  * private.cc
10  */
11 extern "C" int printf (const char *, ...);
13 template <class T>
14 class A
16 public:
17       void Fun() { printf( "Fun fun fun!\n" ); } // { dg-error "" } private
21 template <class T>
22 class B: private A<T>
27 class C
29 public:
30     C() { _b.Fun(); }// { dg-error "" } .*
32 private:
33     B<int> _b;
37 int main()
39     C c;