]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR c++/28460 (g++ emits bogus namespace DIE)
authorDaniel Jacobowitz <dan@codesourcery.com>
Mon, 24 Jul 2006 02:58:08 +0000 (02:58 +0000)
committerDaniel Jacobowitz <drow@gcc.gnu.org>
Mon, 24 Jul 2006 02:58:08 +0000 (02:58 +0000)
PR c++/28460
* decl.c (grokvardecl): Use FROB_CONTEXT.
* pt.c (register_specialization): Likewise.

From-SVN: r115703

gcc/cp/ChangeLog
gcc/cp/decl.c
gcc/cp/pt.c

index a5848b82aa85bbad4705048d98dec5dc922950e7..d0bbac5a40a570fbf95f6a5e73ab1c36b57179ba 100644 (file)
@@ -1,3 +1,9 @@
+2006-07-23  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       PR c++/28460
+       * decl.c (grokvardecl): Use FROB_CONTEXT.
+       * pt.c (register_specialization): Likewise.
+
 2006-07-23  Mark Mitchell  <mark@codesourcery.com>
 
        PR c++/28025
index 14977496bab9f11e9e93c5da7a7a46f7a8389315..ad35161481c0d47720047f3bbfb89a013976b617 100644 (file)
@@ -6289,7 +6289,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 e76ad2db3462bb57830bb00937663d8a1ef151ff..0b852fa2df46452bec50331426b4a24befe79d50 100644 (file)
@@ -1224,7 +1224,7 @@ register_specialization (tree spec, tree tmpl, tree args, bool is_friend)
      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)