diff options
author | YamaArashi <shadow962@live.com> | 2016-01-06 01:47:28 -0800 |
---|---|---|
committer | YamaArashi <shadow962@live.com> | 2016-01-06 01:47:28 -0800 |
commit | be8b04496302184c6e8f04d6179f9c3afc50aeb6 (patch) | |
tree | 726e2468c0c07add773c0dbd86ab6386844259ae /gcc/testsuite/g++.old-deja/g++.bob/protected1.C |
initial commit
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.bob/protected1.C')
-rwxr-xr-x | gcc/testsuite/g++.old-deja/g++.bob/protected1.C | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.bob/protected1.C b/gcc/testsuite/g++.old-deja/g++.bob/protected1.C new file mode 100755 index 0000000..95a400e --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.bob/protected1.C @@ -0,0 +1,42 @@ +// Build don't link: +class A { +public: + int i; + A(int j) : i(j){} +}; + +class B : protected A { +public: + B(int j) : A(j){} + void f(){ + A k(*this); + } +}; + +class C : protected B { +public: + C(int j) : B(j){} + void f(); + + void g(){ + A k(i); + } +}; + + +class D : public C { +public: + D(int w) : C(i) {} + void j() { A k(*this); } + void h() { i=3; } +}; + +void C::f() { + A k(*this); +} + +B b(3); +int +main() { + A *z = &b; // ERROR - +} |