Commit 3d83e33e by Nathanael Nerode

g++.dg/lookup/template1.C: New test.

From-SVN: r60761
parent 378b1b8e
2003-01-01 Nathanael Nerode <neroden@gcc.gnu.org> 2003-01-01 Nathanael Nerode <neroden@gcc.gnu.org>
g++.dg/lookup/template1.C: New test.
g++.dg/parse/namespace2.C: New test. g++.dg/parse/namespace2.C: New test.
g++.dg/parse/parens2.C: New test. g++.dg/parse/parens2.C: New test.
......
/* PR c++/3009 */
/* { dg-do run } */
// According to 14.6.2.4 of C++ Standard:
// "If a base class is a dependent type, a member of that
// class cannot hide a name declared within a template, or a
// name from the template's enclosing scopes."
class B {
public:
int foo() { return 1; }
};
int foo() { return 0; }
template <class T> class C : public T {
public:
int caller() { return foo(); } // This must be ::foo, not B::foo.
};
int main() {
C<B> c;
return c.caller(); // Returns 1 if we got the wrong one.
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment