aboutsummaryrefslogtreecommitdiff
path: root/gcc/omp-low.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2008-07-19 21:22:51 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2008-07-19 21:22:51 +0200
commita7ea9e2968dd6dc207e554ce89b16c291f4120a1 (patch)
treeecfdf4122243551f09e7f5be9e301d91d6fb73d3 /gcc/omp-low.c
parent5e2be41f37d39b91e27c4d129a5861cfe80809ec (diff)
downloadgcc-a7ea9e2968dd6dc207e554ce89b16c291f4120a1.zip
gcc-a7ea9e2968dd6dc207e554ce89b16c291f4120a1.tar.gz
gcc-a7ea9e2968dd6dc207e554ce89b16c291f4120a1.tar.bz2
re PR middle-end/36877 (-O0 -fopenmp -march=i386 atomics)
PR middle-end/36877 * omp-low.c (expand_omp_atomic_fetch_op): Make sure the return value of the builtin is ignored. * gcc.dg/gomp/atomic-11.c: New test. From-SVN: r137989
Diffstat (limited to 'gcc/omp-low.c')
-rw-r--r--gcc/omp-low.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/omp-low.c b/gcc/omp-low.c
index 2f9aede..8ee717a 100644
--- a/gcc/omp-low.c
+++ b/gcc/omp-low.c
@@ -4742,6 +4742,7 @@ expand_omp_atomic_fetch_op (basic_block load_bb,
bsi = bsi_last (load_bb);
gcc_assert (TREE_CODE (bsi_stmt (bsi)) == OMP_ATOMIC_LOAD);
call = build_call_expr (decl, 2, addr, fold_convert (itype, rhs));
+ call = fold_convert (void_type_node, call);
force_gimple_operand_bsi (&bsi, call, true, NULL_TREE, true, BSI_SAME_STMT);
bsi_remove (&bsi, true);