aboutsummaryrefslogtreecommitdiff
path: root/gcc/c/c-parser.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2015-02-11 14:40:31 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2015-02-11 14:40:31 +0100
commitfa01ffccc77fd08b566642487b05eea568a28e60 (patch)
treee1632c6ff1de20355a3f4f7074b072de291d3d44 /gcc/c/c-parser.c
parentc43ade800481f77c8fcd70c6d795b0adee045810 (diff)
downloadgcc-fa01ffccc77fd08b566642487b05eea568a28e60.zip
gcc-fa01ffccc77fd08b566642487b05eea568a28e60.tar.gz
gcc-fa01ffccc77fd08b566642487b05eea568a28e60.tar.bz2
re PR middle-end/64824 (ICE in gimple verification)
PR c/64824 * c-parser.c (c_parser_binary_expression): Fix OpenMP stack[sp].prec check in the POP macro. * testsuite/libgomp.c/atomic-18.c: New test. * testsuite/libgomp.c++/atomic-16.C: New test. From-SVN: r220617
Diffstat (limited to 'gcc/c/c-parser.c')
-rw-r--r--gcc/c/c-parser.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/c/c-parser.c b/gcc/c/c-parser.c
index 982ba6a..ceb9e1a 100644
--- a/gcc/c/c-parser.c
+++ b/gcc/c/c-parser.c
@@ -6233,8 +6233,8 @@ c_parser_binary_expression (c_parser *parser, struct c_expr *after,
if (__builtin_expect (omp_atomic_lhs != NULL_TREE, 0) && sp == 1 \
&& c_parser_peek_token (parser)->type == CPP_SEMICOLON \
&& ((1 << stack[sp].prec) \
- & (1 << (PREC_BITOR | PREC_BITXOR | PREC_BITAND | PREC_SHIFT \
- | PREC_ADD | PREC_MULT))) \
+ & ((1 << PREC_BITOR) | (1 << PREC_BITXOR) | (1 << PREC_BITAND) \
+ | (1 << PREC_SHIFT) | (1 << PREC_ADD) | (1 << PREC_MULT))) \
&& stack[sp].op != TRUNC_MOD_EXPR \
&& stack[0].expr.value != error_mark_node \
&& stack[1].expr.value != error_mark_node \