Fwd: [PATCH, libjava]: Avoid suggest parentheses around comparison in operand of '|' in java/lang/natObject.cc
Uros Bizjak <[email protected]> Wed, 12 Mar 2014 16:02:42 +0100
| Newsgroups | gmane.comp.gcc.java.patches |
|---|---|
| Message-ID | <CAFULd4aqwfPRk4tnThJ1QM6F1zuLpvZ8RLY+hNaH=xn+fserEg@mail.gmail.com> |
Forwarded from gcc-patches@ ML [1]. [1] http://gcc.gnu.org/ml/gcc-patches/2014-03/msg00481.html ---------- Forwarded message ---------- From: Uros Bizjak <[email protected]> Date: Mon, Mar 10, 2014 at 9:13 PM Subject: [PATCH, libjava]: Avoid suggest parentheses around comparison in operand of '|' in java/lang/natObject.cc To: "[email protected]" <[email protected]> Hello! During libjava build, following warning is reported: ../../../gcc-svn/branches/gcc-4_8-branch/libjava/java/lang/natObject.cc:932:27: warning: suggest parentheses around comparison in operand of '|' [-Wparentheses] JvAssert(he -> address == address | LOCKED ); ^ It looks that parentheses are missing around (address | LOCKED), otherwise the expression is always true - LOCKED is unconditionally defined to 1. Attached patch adds these parentheses (and removes a pair of superfluous ones). 2014-03-10 Uros Bizjak <[email protected]> * java/lang/natObject.cc (_Jv_MonitorEnter): Add missing parenthesis around comparison with (address | LOCKED) in JvAssert. Patch was bootstrapped and regression tested on x86_64-pc-linux-gnu {,-m32}. OK for mainline SVN and release branches? Uros.
j.diff.txt
(text/plain, 943 B)
Index: java/lang/natObject.cc
===================================================================
--- java/lang/natObject.cc (revision 208455)
+++ java/lang/natObject.cc (working copy)
@@ -929,7 +929,7 @@ retry:
// only be held by other threads waiting for conversion, and
// they, like us, drop it quickly without blocking.
_Jv_MutexLock(&(hl->si.mutex));
- JvAssert(he -> address == address | LOCKED );
+ JvAssert(he -> address == (address | LOCKED));
release_set(&(he -> address), (address | REQUEST_CONVERSION | HEAVY));
// release lock on he
LOG(REQ_CONV, (address | REQUEST_CONVERSION | HEAVY), self);
@@ -961,7 +961,7 @@ retry:
}
obj_addr_t was_heavy = (address & HEAVY);
if ((address & LOCKED) ||
- !compare_and_swap(&(he -> address), address, (address | LOCKED )))
+ !compare_and_swap(&(he -> address), address, address | LOCKED ))
{
wait_unlocked(he);
goto retry;