aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-operands.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2008-12-06 22:06:43 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2008-12-06 22:06:43 +0100
commitf11bea25dd16c9408329efdc83379b44fc644441 (patch)
treeb30ae3524fb44587f4f26684405b0d23a71969fb /gcc/tree-ssa-operands.c
parent8b86bdbc02cddb4d8948380d46add28ea979f289 (diff)
downloadgcc-f11bea25dd16c9408329efdc83379b44fc644441.zip
gcc-f11bea25dd16c9408329efdc83379b44fc644441.tar.gz
gcc-f11bea25dd16c9408329efdc83379b44fc644441.tar.bz2
re PR middle-end/38428 (ice for Linux kernel code with -O2)
PR middle-end/38428 * tree-ssa-operands.c (get_expr_operands) <case BIT_FIELD_REF>: Set gimple_set_has_volatile_ops if the BIT_FIELD_REF is volatile. * gcc.c-torture/compile/pr38428.c: New test. From-SVN: r142527
Diffstat (limited to 'gcc/tree-ssa-operands.c')
-rw-r--r--gcc/tree-ssa-operands.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/tree-ssa-operands.c b/gcc/tree-ssa-operands.c
index 9624188..85a0a08 100644
--- a/gcc/tree-ssa-operands.c
+++ b/gcc/tree-ssa-operands.c
@@ -2010,6 +2010,10 @@ get_expr_operands (gimple stmt, tree *expr_p, int flags)
}
case BIT_FIELD_REF:
+ if (TREE_THIS_VOLATILE (expr))
+ gimple_set_has_volatile_ops (stmt, true);
+ /* FALLTHRU */
+
case TRUTH_NOT_EXPR:
case VIEW_CONVERT_EXPR:
do_unary: