diff options
author | Jakub Jelinek <jakub@redhat.com> | 2008-12-06 22:06:43 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2008-12-06 22:06:43 +0100 |
commit | f11bea25dd16c9408329efdc83379b44fc644441 (patch) | |
tree | b30ae3524fb44587f4f26684405b0d23a71969fb /gcc/tree-ssa-operands.c | |
parent | 8b86bdbc02cddb4d8948380d46add28ea979f289 (diff) | |
download | gcc-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.c | 4 |
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: |