+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.
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);
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)
{
tree origin;
- if (DECL_IGNORED_P (decl))
+ if (DECL_P (decl) && DECL_IGNORED_P (decl))
return;
switch (TREE_CODE (decl))
{
dw_die_ref context_die = comp_unit_die;
- if (DECL_IGNORED_P (decl))
- return;
-
switch (TREE_CODE (decl))
{
case ERROR_MARK:
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;