Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 May 2017 18:55:27 +0200
From:      Dimitry Andric <dimitry@andric.com>
To:        sgk@troutmask.apl.washington.edu
Cc:        freebsd-hackers@freebsd.org, numerics@freebsd.org, Bruce Evans <brde@optusnet.com.au>
Subject:   Re: catrig[fl].c and inexact
Message-ID:  <FB138623-DF5B-4DBD-94FE-29E21FF7FDC6@andric.com>
In-Reply-To: <20170513162153.GB88653@troutmask.apl.washington.edu>
References:  <20170512215654.GA82545@troutmask.apl.washington.edu> <20170513103208.M845@besplex.bde.org> <20170513060803.GA84399@troutmask.apl.washington.edu> <F5F8736B-D7E1-48AD-BC6C-8C74AF0A3272@andric.com> <20170513162153.GB88653@troutmask.apl.washington.edu>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
On 13 May 2017, at 18:21, Steve Kargl <sgk@troutmask.apl.washington.edu> wrote:
> 
> On Sat, May 13, 2017 at 03:08:26PM +0200, Dimitry Andric wrote:
...
> 
>> Using the full catrig.c and -O3, I tried gcc 4.2.1, 4.7.4, 4.8.5, 4.9.4,
>> 5.4.0, 6.3.0 and 7.0.1, in addition to clang 3.4.1, 3.8.0, 3.9.1, 4.0.0
>> and 5.0.0.
> 
> Thanks for checking.  I reduced catrig.c to a small self-contained
> program and indeed I was getting the desired addition of 1 + tiny
> to raise FE_INEXACT.  I suppose that I'll need to add an appropriate
> -Wno-foo to my CFLAGS line to suppress the spurious warning, which
> might be tricky because -Wunused is one option I'ld like to have.

The following also gets rid of the warnings:

Index: lib/msun/src/catrig.c
===================================================================
--- lib/msun/src/catrig.c	(revision 318032)
+++ lib/msun/src/catrig.c	(working copy)
@@ -37,7 +37,7 @@
 #define isinf(x)	(fabs(x) == INFINITY)
 #undef isnan
 #define isnan(x)	((x) != (x))
-#define	raise_inexact()	do { volatile float junk = 1 + tiny; } while(0)
+#define	raise_inexact()	do { volatile float junk __unused = 1 + tiny; } while(0)
 #undef signbit
 #define signbit(x)	(__builtin_signbit(x))

Index: lib/msun/src/catrigf.c
===================================================================
--- lib/msun/src/catrigf.c	(revision 318032)
+++ lib/msun/src/catrigf.c	(working copy)
@@ -51,7 +51,7 @@
 #define isinf(x)	(fabsf(x) == INFINITY)
 #undef isnan
 #define isnan(x)	((x) != (x))
-#define	raise_inexact()	do { volatile float junk = 1 + tiny; } while(0)
+#define	raise_inexact()	do { volatile float junk __unused = 1 + tiny; } while(0)
 #undef signbit
 #define signbit(x)	(__builtin_signbitf(x))

Index: lib/msun/src/catrigl.c
===================================================================
--- lib/msun/src/catrigl.c	(revision 318032)
+++ lib/msun/src/catrigl.c	(working copy)
@@ -53,7 +53,7 @@
 #define isinf(x)	(fabsl(x) == INFINITY)
 #undef isnan
 #define isnan(x)	((x) != (x))
-#define	raise_inexact()	do { volatile float junk = 1 + tiny; } while(0)
+#define	raise_inexact()	do { volatile float junk __unused = 1 + tiny; } while(0)
 #undef signbit
 #define signbit(x)	(__builtin_signbitl(x))

If you are OK with that, I will commit it later today.

-Dimitry


[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.30

iEYEARECAAYFAlkXOoUACgkQsF6jCi4glqOjeQCgrp2JTdTaC/b3j/+gqf56C3AV
GT0AoO+KGbDi+qxoOxNrez97cSEMi/Vv
=zJHP
-----END PGP SIGNATURE-----

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FB138623-DF5B-4DBD-94FE-29E21FF7FDC6>