diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.law/visibility24.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.law/visibility24.C | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility24.C b/gcc/testsuite/g++.old-deja/g++.law/visibility24.C new file mode 100644 index 000000000..3acd83707 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.law/visibility24.C @@ -0,0 +1,40 @@ +// { dg-do assemble } +// GROUPS passed visibility +// visibility file +// From: joe@consolve.com (Joe Shapiro) +// Date: Fri, 20 Aug 93 17:18:18 EDT +// Subject: Template classes seem to allow users to get at private members +// Message-ID: <9308202118.AA25599@ghana.consolve> +/* + * private.cc + */ +extern "C" int printf (const char *, ...); + +template <class T> +class A +{ +public: + void Fun() { printf( "Fun fun fun!\n" ); } // { dg-error "" } private +}; + + +template <class T> +class B: private A<T> +{ +}; + + +class C +{ +public: + C() { _b.Fun(); }// { dg-error "" } .* + +private: + B<int> _b; +}; + + +int main() +{ + C c; +} |