diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/varasm.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7964e0e..7573df0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-10-07 DJ Delorie <dj@redhat.com> + + * varasm.c (output_constant): Limit error to expanding + conversions. + 2005-10-07 Richard Guenther <rguenther@suse.de> PR middle-end/24227 diff --git a/gcc/varasm.c b/gcc/varasm.c index f21c4b9..c40217f 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", |