diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 12 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 14 |
2 files changed, 17 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4acf48a..59e51e5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,14 @@ -2009-09-23 Justin Seyster <jrseys@gmail.com> +2009-09-24 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/41457 + * dwarf2out.c (add_const_value_attribute): For HIGH and CONST_FIXED, + return false instead of gcc_unreachable (). For CONST return the + value returned by recursive call instead of always returning true. + (tree_add_const_value_attribute): Return the value returned by + add_const_value_attribute instead of always returning true if rtl + is non-NULL. + +2009-09-23 Justin Seyster <jrseys@gmail.com> * Makefile.in (PLUGIN_HEADERS): Include real.h. diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index ed1a0fe..213b9af 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -13445,10 +13445,7 @@ add_const_value_attribute (dw_die_ref die, rtx rtl) case CONST: if (CONSTANT_P (XEXP (rtl, 0))) - { - add_const_value_attribute (die, XEXP (rtl, 0)); - return true; - } + return add_const_value_attribute (die, XEXP (rtl, 0)); /* FALLTHROUGH */ case SYMBOL_REF: if (GET_CODE (rtl) == SYMBOL_REF @@ -13473,6 +13470,10 @@ add_const_value_attribute (dw_die_ref die, rtx rtl) values in Dwarf, so for now we just punt and generate nothing. */ return false; + case HIGH: + case CONST_FIXED: + return false; + default: /* No other kinds of rtx should be possible here. */ gcc_unreachable (); @@ -14098,10 +14099,7 @@ tree_add_const_value_attribute (dw_die_ref die, tree t) rtl = rtl_for_decl_init (init, type); if (rtl) - { - add_const_value_attribute (die, rtl); - return true; - } + return add_const_value_attribute (die, rtl); /* If the host and target are sane, try harder. */ else if (CHAR_BIT == 8 && BITS_PER_UNIT == 8 && initializer_constant_valid_p (init, type)) |