File pr28460.patch of Package gcc41
2006-07-23 Daniel Jacobowitz <dan@codesourcery.com>
PR c++/28460
* decl.c (grokvardecl): Use FROB_CONTEXT.
* pt.c (register_specialization): Likewise.
Index: gcc/cp/decl.c
===================================================================
--- gcc/cp/decl.c.orig 2007-01-15 11:11:05.000000000 +0100
+++ gcc/cp/decl.c 2009-11-20 13:41:54.000000000 +0100
@@ -6196,7 +6196,7 @@ grokvardecl (tree type,
if (explicit_scope && TREE_CODE (explicit_scope) == NAMESPACE_DECL)
set_decl_namespace (decl, explicit_scope, 0);
else
- DECL_CONTEXT (decl) = scope;
+ DECL_CONTEXT (decl) = FROB_CONTEXT (scope);
if (declspecs->storage_class == sc_extern)
{
Index: gcc/cp/pt.c
===================================================================
--- gcc/cp/pt.c.orig 2006-12-14 15:13:39.000000000 +0100
+++ gcc/cp/pt.c 2009-11-20 13:41:54.000000000 +0100
@@ -1257,7 +1257,7 @@ register_specialization (tree spec, tree
template it is specializing. */
if (DECL_TEMPLATE_SPECIALIZATION (spec)
&& !check_specialization_namespace (tmpl))
- DECL_CONTEXT (spec) = decl_namespace_context (tmpl);
+ DECL_CONTEXT (spec) = FROB_CONTEXT (decl_namespace_context (tmpl));
if (!optimize_specialization_lookup_p (tmpl))
DECL_TEMPLATE_SPECIALIZATIONS (tmpl)