loc_list_for_tree_1 and add_const_value_attribute currently ICE
on POLY_INTs. loc_list_for_tree_1 can do something sensible but
add_const_value_attribute has to punt, since the constant there
needs to be a link-time rather than load-time or run-time constant.
This is tested by later SVE patches.
2019-09-18 Richard Sandiford <richard.sandiford@arm.com>
gcc/
* dwarf2out.c (loc_list_from_tree_1): Handle POLY_INT_CST.
(add_const_value_attribute): Handle CONST_POLY_INT.
From-SVN: r275868
+2019-09-18 Richard Sandiford <richard.sandiford@arm.com>
+
+ * dwarf2out.c (loc_list_from_tree_1): Handle POLY_INT_CST.
+ (add_const_value_attribute): Handle CONST_POLY_INT.
+
2019-09-18 Martin Liska <mliska@suse.cz>
* dbgcnt.def (store_merging): New counter.
}
break;
+ case POLY_INT_CST:
+ {
+ if (want_address)
+ {
+ expansion_failed (loc, NULL_RTX,
+ "constant address with a runtime component");
+ return 0;
+ }
+ poly_int64 value;
+ if (!poly_int_tree_p (loc, &value))
+ {
+ expansion_failed (loc, NULL_RTX, "constant too big");
+ return 0;
+ }
+ ret = int_loc_descriptor (value);
+ }
+ break;
+
case CONSTRUCTOR:
case REAL_CST:
case STRING_CST:
case MINUS:
case SIGN_EXTEND:
case ZERO_EXTEND:
+ case CONST_POLY_INT:
return false;
case MEM: