Re-add missing debug info for weak aliases.
authorJim Wilson <wilson@redhat.com>
Fri, 23 Mar 2001 19:47:57 +0000 (19:47 +0000)
committerJim Wilson <wilson@gcc.gnu.org>
Fri, 23 Mar 2001 19:47:57 +0000 (11:47 -0800)
* varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test.
(assemble_alias): Call make_decl_rtl.

From-SVN: r40791

gcc/ChangeLog
gcc/varasm.c

index 72c25a4646b60996e051e6d29ca06a00366c58c8..a6ff3aa8a1d4281e963e10d86864d100c225269f 100644 (file)
@@ -1,3 +1,8 @@
+2001-03-23  Jim Wilson  <wilson@redhat.com>
+
+       * varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test.
+       (assemble_alias): Call make_decl_rtl.
+       
 Fri Mar 23 16:59:08 2001  J"orn Rennecke <amylaar@redhat.com>
 
        * stor-layout.c (layout_type): Give OFFSET_TYPE a MODE_INT type.
index 694b0b0ee8b4160b66bc9b87bdf560ccb8f3371b..3a6d61dfa412ebd14b53971a5d51fb2299d57746 100644 (file)
@@ -580,10 +580,12 @@ make_decl_rtl (decl, asmspec)
   int reg_number;
 
   /* Check that we are not being given an automatic variable.  */
+  /* A weak alias has TREE_PUBLIC set but not the other bits.  */
   if (TREE_CODE (decl) == PARM_DECL
       || TREE_CODE (decl) == RESULT_DECL
       || (TREE_CODE (decl) == VAR_DECL
          && !TREE_STATIC (decl)
+         && !TREE_PUBLIC (decl)
          && !DECL_EXTERNAL (decl)
          && !DECL_REGISTER (decl)))
     abort ();
@@ -4796,6 +4798,10 @@ assemble_alias (decl, target)
 {
   const char *name;
 
+  /* We must force creation of DECL_RTL for debug info generation, even though
+     we don't use it here.  */
+  make_decl_rtl (decl, NULL_PTR);
+
   name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl));
 
 #ifdef ASM_OUTPUT_DEF