Re: [PATCH] Fix always true condition in gimplify_adjust_omp_clauses
On Thu, Aug 17, 2017 at 10:57 AM, Marek Polacekwrote: > Ping. Ok. Richard. > On Thu, Aug 10, 2017 at 08:50:44PM +0200, Marek Polacek wrote: >> 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... 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 >> >> * 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
Re: [PATCH] Fix always true condition in gimplify_adjust_omp_clauses
Ping. On Thu, Aug 10, 2017 at 08:50:44PM +0200, Marek Polacek wrote: > 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... 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> > * 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
[PATCH] Fix always true condition in gimplify_adjust_omp_clauses
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... 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* 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