Commit 1f845b30 by Nathan Sidwell Committed by Nathan Sidwell

re PR c++/11794 (using declaration inside nested class seems ignored)

cp:
	PR c++/11794
	* class.c (pushclass): Push dependent using decls for nested
	classes of templates too.
testsuite:
	PR c++/11794
	* g++.dg/parse/using3.C: New test.

From-SVN: r71143
parent 082124f5
2003-09-06 Nathan Sidwell <nathan@codesourcery.com>
PR c++/11794
* class.c (pushclass): Push dependent using decls for nested
classes of templates too.
2003-09-06 Roger Sayle <roger@eyesopen.com> 2003-09-06 Roger Sayle <roger@eyesopen.com>
PR c++/11409 PR c++/11409
......
...@@ -5466,9 +5466,9 @@ pushclass (tree type) ...@@ -5466,9 +5466,9 @@ pushclass (tree type)
if (type != previous_class_type || current_class_depth > 1) if (type != previous_class_type || current_class_depth > 1)
{ {
push_class_decls (type); push_class_decls (type);
if (CLASSTYPE_IS_TEMPLATE (type)) if (CLASSTYPE_TEMPLATE_INFO (type) && !CLASSTYPE_USE_TEMPLATE (type))
{ {
/* If we are entering the scope of a template (not a /* If we are entering the scope of a template declaration (not a
specialization), we need to push all the using decls with specialization), we need to push all the using decls with
dependent scope too. */ dependent scope too. */
tree fields; tree fields;
......
2003-09-06 Nathan Sidwell <nathan@codesourcery.com>
PR c++/11794
* g++.dg/parse/using3.C: New test.
2003-09-06 Roger Sayle <roger@eyesopen.com> 2003-09-06 Roger Sayle <roger@eyesopen.com>
PR c++/11409 PR c++/11409
......
// { dg-do compile }
// Copyright (C) 2003 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 6 Sep 2003 <nathan@codesourcery.com>
// Origin: stefaandr@hotmail.com
// PR c++/11794. Using decl in nested classes of a template class
template <typename T> struct a
{
struct a1: T
{
using T::aa;
a1() { aa = 5; }
};
};
struct b { int aa; };
template <> struct a<int>::a1 { a1 () {} };
a<b>::a1 a_b;
a<int>::a1 a_i;
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