re PR middle-end/52074 (ICE: RTL flag check: MEM_VOLATILE_P used with unexpected...
authorJakub Jelinek <jakub@redhat.com>
Tue, 7 Feb 2012 09:22:51 +0000 (10:22 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 7 Feb 2012 09:22:51 +0000 (10:22 +0100)
commitb1b95093addde97a78ec59fef4c6930847f84566
treeaac8ca8d6fe1e3814662159ee79805a344b6686f
parentb59cbd503473a38ddc09ed69f36ff534eaa88d11
re PR middle-end/52074 (ICE: RTL flag check: MEM_VOLATILE_P used with unexpected rtx code 'plus' in extract_fixed_bit_field, at expmed.c:1734)

PR middle-end/52074
* expr.c (expand_expr_addr_expr_1): For CONSTANT_CLASS_P or CONST_DECL
if modifier < EXPAND_SUM call force_operand on the result.

* gcc.c-torture/compile/pr52074.c: New test.

From-SVN: r183956
gcc/ChangeLog
gcc/expr.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/compile/pr52074.c [new file with mode: 0644]