From e2953e417a68f09fbe9aebc96e3a31aff6ef35dc Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Wed, 12 Oct 2005 08:55:59 +0000 Subject: [PATCH] re PR c++/23799 (ICE: no-op convert from 8 to 4 bytes in initializer) 2005-10-12 Richard Guenther PR c++/23799 * varasm.c (output_constant): Correct typo from previous patch by DJ. From-SVN: r105290 --- gcc/ChangeLog | 6 ++++++ gcc/varasm.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8fa4b88a3afa..5b300b1dc5bf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2005-10-12 Richard Guenther + + PR c++/23799 + * varasm.c (output_constant): Correct typo from previous + patch by DJ. + 2005-10-11 Ian Lance Taylor PR rtl-optimization/13931 diff --git a/gcc/varasm.c b/gcc/varasm.c index c40217f6e531..286abb3eb936 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -3889,7 +3889,7 @@ output_constant (tree exp, unsigned HOST_WIDE_INT size, unsigned int align) /* Make sure eliminating the conversion is really a no-op, except with VIEW_CONVERT_EXPRs to allow for wild Ada unchecked conversions and union types to allow for Ada unchecked unions. */ - if (type_size < op_size + if (type_size > op_size && TREE_CODE (exp) != VIEW_CONVERT_EXPR && TREE_CODE (TREE_TYPE (exp)) != UNION_TYPE) internal_error ("no-op convert from %wd to %wd bytes in initializer", -- 2.47.2