Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751021AbdLZPNl convert rfc822-to-8bit (ORCPT ); Tue, 26 Dec 2017 10:13:41 -0500 Received: from 9pmail.ess.barracuda.com ([64.235.154.211]:40351 "EHLO 9pmail.ess.barracuda.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750740AbdLZPNk (ORCPT ); Tue, 26 Dec 2017 10:13:40 -0500 From: Aleksandar Markovic To: Mathieu Malaterre CC: Ralf Baechle , Miodrag Dinic , Goran Ferenc , James Hogan , Douglas Leung , "linux-mips@linux-mips.org" , "linux-kernel@vger.kernel.org" Subject: RE: [PATCH 2/2] MIPS: math-emu: Declare ys variable as possibly unused Thread-Topic: [PATCH 2/2] MIPS: math-emu: Declare ys variable as possibly unused Thread-Index: AQHTfjbGgrIJsUzVl0WqDMFsHhAiLKNVuzmK Date: Tue, 26 Dec 2017 15:12:06 +0000 Message-ID: References: <20171226104554.19612-1-malat@debian.org>,<20171226104554.19612-2-malat@debian.org> In-Reply-To: <20171226104554.19612-2-malat@debian.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [82.117.201.26] Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 X-BESS-ID: 1514301215-321459-6704-167750-4 X-BESS-VER: 2017.16-r1712230000 X-BESS-Apparent-Source-IP: 12.201.5.28 X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.188370 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS59374 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2454 Lines: 101 > Fix non-fatal warning: > > arch/mips/math-emu/sp_fdp.c: In function ?ieee754sp_fdp?: > arch/mips/math-emu/ieee754int.h:60:31: warning: variable ?ys? set but not used [-Wunused-but-set-variable] > unsigned int ym; int ye; int ys; int yc > ^ > arch/mips/math-emu/sp_fdp.c:37:2: note: in expansion of macro ?COMPYSP? > COMPYSP; > ^~~~~~~ > > Signed-off-by: Mathieu Malaterre > --- > arch/mips/math-emu/ieee754int.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/mips/math-emu/ieee754int.h b/arch/mips/math-emu/ieee754int.h > index 06ac0e2ac7ac..cb8f04cd24bf 100644 > --- a/arch/mips/math-emu/ieee754int.h > +++ b/arch/mips/math-emu/ieee754int.h > @@ -57,7 +57,7 @@ static inline int ieee754_class_nan(int xc) > unsigned int xm; int xe; int xs __maybe_unused; int xc > > #define COMPYSP \ > - unsigned int ym; int ye; int ys; int yc > + unsigned int ym; int ye; int ys __maybe_unused; int yc > > #define COMPZSP \ > unsigned int zm; int ze; int zs; int zc This will silence the warning, but will do it for all future cases of unused ys too - in other words, it may well silence even useful, valid warnings. Also, this introduces an inconsistency among COMPXSP, COMPYSP, and COMPZSP macros. A better solution would be to reduce the scope of ys, so that it is always used, if declared. Instead of this code segment (in arch/mips/math-emu/sp_fdp.c): union ieee754sp ieee754sp_fdp(union ieee754dp x) { union ieee754sp y; u32 rm; COMPXDP; COMPYSP; EXPLODEXDP; ieee754_clearcx(); FLUSHXDP; switch (xc) { case IEEE754_CLASS_SNAN: x = ieee754dp_nanxcpt(x); EXPLODEXDP; /* Fall through. */ case IEEE754_CLASS_QNAN: y = ieee754sp_nan_fdp(xs, xm); if (!ieee754_csr.nan2008) { EXPLODEYSP; if (!ieee754_class_nan(yc)) y = ieee754sp_indef(); } return y; .. should be the following: (COMPYSP is moved to a smaller code block) union ieee754sp ieee754sp_fdp(union ieee754dp x) { union ieee754sp y; u32 rm; COMPXDP; EXPLODEXDP; ieee754_clearcx(); FLUSHXDP; switch (xc) { case IEEE754_CLASS_SNAN: x = ieee754dp_nanxcpt(x); EXPLODEXDP; /* Fall through. */ case IEEE754_CLASS_QNAN: { COMPYSP; y = ieee754sp_nan_fdp(xs, xm); if (!ieee754_csr.nan2008) { EXPLODEYSP; if (!ieee754_class_nan(yc)) y = ieee754sp_indef(); } return y; } Regards, Aleksandar