aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>2013-01-02 21:14:13 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2013-01-02 21:14:13 +0000
commit9e65d03ec68d0fc995070ecd8c856a9243125990 (patch)
treeb2b2a8a4f4d65889bc90bc008057a35dff5f9ef8 /gcc/expr.c
parent3a322efd85d2697724a6e759c9a53f14a3aac6b6 (diff)
downloadgcc-9e65d03ec68d0fc995070ecd8c856a9243125990.zip
gcc-9e65d03ec68d0fc995070ecd8c856a9243125990.tar.gz
gcc-9e65d03ec68d0fc995070ecd8c856a9243125990.tar.bz2
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
Diffstat (limited to 'gcc/expr.c')
-rw-r--r--gcc/expr.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 9d9e5b9..e7b7770 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