Commit cd0835ce by Richard Biener Committed by Richard Biener

tree-inline.c (remap_type_1): Change asserts on TYPE_SIZE[_UNIT] to allow for…

tree-inline.c (remap_type_1): Change asserts on TYPE_SIZE[_UNIT] to allow for free-lang-data replacements...

2017-08-22  Richard Biener  <rguenther@suse.de>

	* tree-inline.c (remap_type_1): Change asserts on TYPE_SIZE[_UNIT]
	to allow for free-lang-data replacements similar to verify_type_variant.

From-SVN: r251274
parent 44d23deb
2017-08-22 Richard Biener <rguenther@suse.de>
* tree-inline.c (remap_type_1): Change asserts on TYPE_SIZE[_UNIT]
to allow for free-lang-data replacements similar to verify_type_variant.
2017-08-22 Richard Sandiford <richard.sandiford@linaro.org>
Alan Hayward <alan.hayward@arm.com>
David Sherwood <david.sherwood@arm.com>
......
......@@ -554,9 +554,16 @@ remap_type_1 (tree type, copy_body_data *id)
/* All variants of type share the same size, so use the already remaped data. */
if (TYPE_MAIN_VARIANT (new_tree) != new_tree)
{
gcc_checking_assert (TYPE_SIZE (type) == TYPE_SIZE (TYPE_MAIN_VARIANT (type)));
gcc_checking_assert (TYPE_SIZE_UNIT (type) == TYPE_SIZE_UNIT (TYPE_MAIN_VARIANT (type)));
tree s = TYPE_SIZE (type);
tree mvs = TYPE_SIZE (TYPE_MAIN_VARIANT (type));
tree su = TYPE_SIZE_UNIT (type);
tree mvsu = TYPE_SIZE_UNIT (TYPE_MAIN_VARIANT (type));
gcc_checking_assert ((TREE_CODE (s) == PLACEHOLDER_EXPR
&& (TREE_CODE (mvs) == PLACEHOLDER_EXPR))
|| s == mvs);
gcc_checking_assert ((TREE_CODE (su) == PLACEHOLDER_EXPR
&& (TREE_CODE (mvsu) == PLACEHOLDER_EXPR))
|| su == mvsu);
TYPE_SIZE (new_tree) = TYPE_SIZE (TYPE_MAIN_VARIANT (new_tree));
TYPE_SIZE_UNIT (new_tree) = TYPE_SIZE_UNIT (TYPE_MAIN_VARIANT (new_tree));
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment