summaryrefslogtreecommitdiff
path: root/gcc/varasm.c
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2006-09-08 05:11:40 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2006-09-08 05:11:40 +0000
commitf3fd6db7baf672ccb3cf58f44e43c1a68d46a1a6 (patch)
tree961181e0ca6120d90ad5ec06b4bd72fd8f863d60 /gcc/varasm.c
parent643248b0b0d5b62c0a22611728365a62b117ee64 (diff)
downloadgcc-f3fd6db7baf672ccb3cf58f44e43c1a68d46a1a6.tar.gz
PR middle-end/27724
* varasm.c (output_constant): Only strip actual no-op conversions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116777 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r--gcc/varasm.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 9837e0de147..3091132ee21 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));