Commit 69fcfd68 by Eric Botcazou Committed by Eric Botcazou

varasm.c (output_constant): Do not abort on VIEW_CONVERT_EXPRs between different sizes.

	* varasm.c (output_constant): Do not abort on VIEW_CONVERT_EXPRs
	between different sizes.

From-SVN: r104368
parent a49701f9
2005-09-17 Eric Botcazou <ebotcazou@adacore.com>
* varasm.c (output_constant): Do not abort on VIEW_CONVERT_EXPRs
between different sizes.
2005-09-16 Paolo Bonzini <bonzini@gnu.org>
PR 23903
......
......@@ -3880,8 +3880,9 @@ output_constant (tree exp, unsigned HOST_WIDE_INT size, unsigned int align)
HOST_WIDE_INT type_size = int_size_in_bytes (TREE_TYPE (exp));
HOST_WIDE_INT op_size = int_size_in_bytes (TREE_TYPE (TREE_OPERAND (exp, 0)));
/* Make sure eliminating the conversion is really a no-op. */
if (type_size != op_size)
/* Make sure eliminating the conversion is really a no-op, except with
VIEW_CONVERT_EXPR to allow for wild Ada unchecked conversions. */
if (type_size != op_size && TREE_CODE (exp) != VIEW_CONVERT_EXPR)
internal_error ("no-op convert from %wd to %wd bytes in initializer",
op_size, type_size);
......
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