]> gcc.gnu.org Git - gcc.git/commitdiff
re PR c++/9892 (g++.old-deja/g++.pt/static9.C regression)
authorMark Mitchell <mark@codesourcery.com>
Sat, 1 Mar 2003 01:22:43 +0000 (01:22 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Sat, 1 Mar 2003 01:22:43 +0000 (01:22 +0000)
PR c++/9892
* pt.c (instantiate_decl): Clear DECL_RTL for a VAR_DECL when
instantiating it.

From-SVN: r63601

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

index 78d4f262e655fdb4d65e6ada615aaf36fe49e38f..e4ccfb2a2fd737b7e2728d067a8e79f1c8eb2833 100644 (file)
@@ -1,3 +1,9 @@
+2003-02-28    <mark@codesourcery.com>
+
+       PR c++/9892
+       * pt.c (instantiate_decl): Clear DECL_RTL for a VAR_DECL when
+       instantiating it.
+
 2003-02-28  Aldy Hernandez  <aldyh@redhat.com>
 
         * parser.c (cp_parser_init_declarator): Revert opaque
index c0ec51dc73e978fe8aae5213e274bec32cab4ae8..ac5e4e1c8ef37a04194005cad7ab81be24d404be 100644 (file)
@@ -10825,7 +10825,7 @@ instantiate_decl (d, defer_ok)
   /* Regenerate the declaration in case the template has been modified
      by a subsequent redeclaration.  */
   regenerate_decl_from_template (d, td);
-
+  
   /* We already set the file and line above.  Reset them now in case
      they changed as a result of calling regenerate_decl_from_template.  */
   lineno = DECL_SOURCE_LINE (d);
@@ -10833,6 +10833,10 @@ instantiate_decl (d, defer_ok)
 
   if (TREE_CODE (d) == VAR_DECL)
     {
+      /* Clear out DECL_RTL; whatever was there before may not be right
+        since we've reset the type of the declaration.  */
+      SET_DECL_RTL (d, NULL_RTX);
+
       DECL_IN_AGGR_P (d) = 0;
       if (DECL_INTERFACE_KNOWN (d))
        DECL_EXTERNAL (d) = ! DECL_NOT_REALLY_EXTERN (d);
This page took 0.094711 seconds and 5 git commands to generate.