diff options
author | Jason Merrill <jason@redhat.com> | 2006-09-08 01:11:40 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2006-09-08 01:11:40 -0400 |
commit | df20ea24f939e8d2b005d2ef985446b2fe0cf597 (patch) | |
tree | 961181e0ca6120d90ad5ec06b4bd72fd8f863d60 /gcc/varasm.c | |
parent | 158d56c4e2ce2ae5f3044bd7a277fef43466f2f6 (diff) | |
download | gcc-df20ea24f939e8d2b005d2ef985446b2fe0cf597.zip gcc-df20ea24f939e8d2b005d2ef985446b2fe0cf597.tar.gz gcc-df20ea24f939e8d2b005d2ef985446b2fe0cf597.tar.bz2 |
re PR middle-end/27724 (internal compiler error: no-op convert from 4 to 8 bytes in initializer)
PR middle-end/27724
* varasm.c (output_constant): Only strip actual no-op conversions.
From-SVN: r116777
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r-- | gcc/varasm.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c index 9837e0d..3091132 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -4039,10 +4039,10 @@ output_constant (tree exp, unsigned HOST_WIDE_INT size, unsigned int align) 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", - op_size, type_size); - - exp = TREE_OPERAND (exp, 0); + /* Keep the conversion. */ + break; + else + exp = TREE_OPERAND (exp, 0); } code = TREE_CODE (TREE_TYPE (exp)); |