-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.
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
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 ();
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))