diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.law/arm9.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.law/arm9.C | 34 |
1 files changed, 1 insertions, 33 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arm9.C b/gcc/testsuite/g++.old-deja/g++.law/arm9.C index 528478f9f3f..b3b753c1a91 100644 --- a/gcc/testsuite/g++.old-deja/g++.law/arm9.C +++ b/gcc/testsuite/g++.old-deja/g++.law/arm9.C @@ -1,33 +1 @@ -// Build don't link: -// GROUPS passed ARM-compliance -#include <iostream.h> -enum f1 { - F1 -}; - -enum f2 { - F2 -}; - -class A { -public: - void set (f1 f); -}; -void A::set (f1 f) { cout << "called A f1\n";} - -class B : public A { -public: - void set (f2 f); -}; -void B::set (f2 f) { cout << "called B\n";} // ERROR - candidate - -main() { - B b; - b.set(F1); // ARM page 309: should call A.set(f1) and that what g++ does,// ERROR - .* - // but 13.1 of ARM clearly states that it should call B::set() - // or generate an error because overloading works only for - // functions within the same scope (first page of chapter 13) - // while member of derived and base classes are considered to - // belong to different scopes. Thus B::set() should have - // hidden (completely) the A::set() function. -} +int main() { |