From 9e65d03ec68d0fc995070ecd8c856a9243125990 Mon Sep 17 00:00:00 2001 From: John David Anglin Date: Wed, 2 Jan 2013 21:14:13 +0000 Subject: [PATCH] re PR middle-end/55198 (libquadmath/math/fmaq.c:233:7: internal compiler error) PR middle-end/55198 * expr.c (expand_expr_real_1): Don't use bitfield extraction for non BLKmode objects when EXPAND_MEMORY is specified. From-SVN: r194822 --- gcc/ChangeLog | 6 ++++++ gcc/expr.c | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 95f8d8bc4f1..2ab26d339c1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-01-02 John David Anglin + + PR middle-end/55198 + * expr.c (expand_expr_real_1): Don't use bitfield extraction for non + BLKmode objects when EXPAND_MEMORY is specified. + 2013-01-02 Sriraman Tallam * config/i386/i386.c (ix86_get_function_versions_dispatcher): Fix bug diff --git a/gcc/expr.c b/gcc/expr.c index 9d9e5b9abf5..e7b77707de8 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -9960,7 +9960,8 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, && GET_MODE_CLASS (mode) != MODE_COMPLEX_INT && GET_MODE_CLASS (mode) != MODE_COMPLEX_FLOAT && modifier != EXPAND_CONST_ADDRESS - && modifier != EXPAND_INITIALIZER) + && modifier != EXPAND_INITIALIZER + && modifier != EXPAND_MEMORY) /* If the field is volatile, we always want an aligned access. Do this in following two situations: 1. the access is not already naturally