This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Fix always true condition in gimplify_adjust_omp_clauses
- From: Marek Polacek <polacek at redhat dot com>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Cc: Jakub Jelinek <jakub at redhat dot com>
- Date: Thu, 10 Aug 2017 20:50:44 +0200
- Subject: [PATCH] Fix always true condition in gimplify_adjust_omp_clauses
- Authentication-results: sourceware.org; auth=none
- Authentication-results: ext-mx07.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com
- Authentication-results: ext-mx07.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=polacek at redhat dot com
- Dmarc-filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 3C3B6C04B310
My new warning triggered here and said "bitwise comparison always evaluates to
true" and I believe it's right: GOVD_WRITTEN = 131072 which is 10...0000 in
binary, so n->value & GOVD_WRITTEN can never be 1; I suppose 0 was meant to
be used here instead. Too bad Jakub's away, so he can't confirm.
Bootstrapped/regtested on x86_64-linux and ppc64le-linux, ok for trunk?
2017-08-10 Marek Polacek <polacek@redhat.com>
* gimplify.c (gimplify_adjust_omp_clauses): Compare with 0 instead of
1.
diff --git gcc/gimplify.c gcc/gimplify.c
index 86623e09f5d..e52d7dcddaf 100644
--- gcc/gimplify.c
+++ gcc/gimplify.c
@@ -8915,7 +8915,7 @@ gimplify_adjust_omp_clauses (gimple_seq *pre_p, gimple_seq body, tree *list_p,
OMP_CLAUSE_SHARED_READONLY (c) = 1;
else if (DECL_P (decl)
&& ((OMP_CLAUSE_CODE (c) == OMP_CLAUSE_SHARED
- && (n->value & GOVD_WRITTEN) != 1)
+ && (n->value & GOVD_WRITTEN) != 0)
|| (OMP_CLAUSE_CODE (c) == OMP_CLAUSE_LINEAR
&& !OMP_CLAUSE_LINEAR_NO_COPYOUT (c)))
&& omp_shared_to_firstprivate_optimizable_decl_p (decl))
Marek