Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Jul 2013 11:16:46 -0500
From:      Scot Hetzel <swhetzel@gmail.com>
To:        David Chisnall <theraven@freebsd.org>
Cc:        FreeBSD CURRENT <freebsd-current@freebsd.org>, Garrett Wollman <wollman@csail.mit.edu>, "freebsd-toolchain@FreeBSD.org" <freebsd-toolchain@freebsd.org>, Bruce Evans <brde@optusnet.com.au>, Tijl Coosemans <tijl@freebsd.org>, "freebsd-standards@FreeBSD.org" <freebsd-standards@freebsd.org>
Subject:   Re: CURRENT: CLANG 3.3 and -stad=c++11 and -stdlib=libc++: isnan()/isninf() oddity
Message-ID:  <CACdU%2Bf9RmwxSiMEjOwSXHtnDwKk4xY8fmA3aBE5mzrVUkrc1Nw@mail.gmail.com>
In-Reply-To: <C00DFA94-6182-4334-9C90-8012E576E475@FreeBSD.org>
References:  <20130710155809.0f589c22@thor.walstatt.dyndns.org> <CD51F125-AE9E-4461-916D-CF583002B47D@FreeBSD.org> <20130710183315.725dfde0@thor.walstatt.dyndns.org> <C8C94CF2-7D5A-471B-AD63-8E961AED6274@FreeBSD.org> <20130710203200.5359fd18@thor.walstatt.dyndns.org> <51DDC04B.6040209@FreeBSD.org> <20957.49978.73666.392417@khavrinen.csail.mit.edu> <20130711130043.R920@besplex.bde.org> <FD768A6B-8B72-44A1-BC1C-14FF44CB4643@FreeBSD.org> <20130711202908.L84170@besplex.bde.org> <C00DFA94-6182-4334-9C90-8012E576E475@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jul 11, 2013 at 9:33 AM, David Chisnall <theraven@freebsd.org> wrote:
> On 11 Jul 2013, at 13:11, Bruce Evans <brde@optusnet.com.au> wrote:
>
>> The error message for the __builtin_isnan() version is slightly better up
>> to where it says more.
>>
>> The less-unportable macro can do more classification and detect problems
>> at compile time using __typeof().
>
> The attached patch fixes the related test cases in the libc++ test suite.  Please review.
>

 #define	fpclassify(x) \
-    ((sizeof (x) == sizeof (float)) ? __fpclassifyf(x) \
-    : (sizeof (x) == sizeof (double)) ? __fpclassifyd(x) \
-    : __fpclassifyl(x))
+	 __fp_type_select(x, __fpclassifyf, __fpclassifyd, __fpclassifyd)

The last __fpclassifyd should be __fpclassifyl.

-- 
DISCLAIMER:

No electrons were maimed while sending this message. Only slightly bruised.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACdU%2Bf9RmwxSiMEjOwSXHtnDwKk4xY8fmA3aBE5mzrVUkrc1Nw>