dwarf2out.c (compute_section_prefix): Avoid cast warning.
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>
Sat, 29 Dec 2001 20:56:08 +0000 (20:56 +0000)
committerRichard Kenner <kenner@gcc.gnu.org>
Sat, 29 Dec 2001 20:56:08 +0000 (15:56 -0500)
* dwarf2out.c (compute_section_prefix): Avoid cast warning.
(gen_decl_die): Only check DECL_IGNORED_P on decls.
(dwarf2out_decl): Check for DECL_IGNORED_P only when needed.

From-SVN: r48382

gcc/ChangeLog
gcc/dwarf2out.c

index ea0c88651f200277c80063b26dddd7e3dd3a9ac8..e4f8b813a9ca371a1d1ed9d7fda519a2a3ce2d83 100644 (file)
@@ -1,3 +1,9 @@
+Sat Dec 29 15:48:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * dwarf2out.c (compute_section_prefix): Avoid cast warning.
+       (gen_decl_die): Only check DECL_IGNORED_P on decls.
+       (dwarf2out_decl): Check for DECL_IGNORED_P only when needed.
+
 2001-12-29  Jakub Jelinek  <jakub@redhat.com>
 
        * cfglayout.c (insert_intra_before_1): New.
index 856ee59e334ef442845014dbe7d85284f232d47f..671e9c1d24cacbaaf64e327acd7970de5817932a 100644 (file)
@@ -5494,19 +5494,21 @@ static void
 compute_section_prefix (unit_die)
      dw_die_ref unit_die;
 {
-  char *name, *p;
+  const char *base = lbasename (get_AT_string (unit_die, DW_AT_name));
+  char *name = (char *) alloca (strlen (base) + 64);
+  char *p;
   int i;
   unsigned char checksum[16];
   struct md5_ctx ctx;
 
+  /* Compute the checksum of the DIE, then append part of it as hex digits to
+     the name filename of the unit.  */
+
   md5_init_ctx (&ctx);
   die_checksum (unit_die, &ctx);
   md5_finish_ctx (&ctx, checksum);
 
-  p = (char *) lbasename (get_AT_string (unit_die, DW_AT_name));
-  name = (char *) alloca (strlen (p) + 64);
   sprintf (name, "%s.", p);
-
   clean_symbol_name (name);
 
   p = name + strlen (name);
@@ -5520,7 +5522,7 @@ compute_section_prefix (unit_die)
   comdat_symbol_number = 0;
 }
 
-/* Returns nonzero iff DIE represents a type, in the sense of TYPE_P.  */
+/* Returns nonzero if DIE represents a type, in the sense of TYPE_P.  */
 
 static int
 is_type_die (die)
@@ -11233,7 +11235,7 @@ gen_decl_die (decl, context_die)
 {
   tree origin;
 
-  if (DECL_IGNORED_P (decl))
+  if (DECL_P (decl) && DECL_IGNORED_P (decl))
     return;
 
   switch (TREE_CODE (decl))
@@ -11419,9 +11421,6 @@ dwarf2out_decl (decl)
 {
   dw_die_ref context_die = comp_unit_die;
 
-  if (DECL_IGNORED_P (decl))
-    return;
-
   switch (TREE_CODE (decl))
     {
     case ERROR_MARK:
@@ -11502,7 +11501,8 @@ dwarf2out_decl (decl)
              comparisons have.  */
          if ((get_AT_unsigned (comp_unit_die, DW_AT_language)
               == DW_LANG_C_plus_plus)
-             && TREE_CODE (TREE_TYPE (decl)) == BOOLEAN_TYPE)
+             && TREE_CODE (TREE_TYPE (decl)) == BOOLEAN_TYPE
+             && ! DECL_IGNORED_P (decl))
            modified_type_die (TREE_TYPE (decl), 0, 0, NULL);
 
          return;