On 13.7.2013 13:12, David Chisnall wrote:
On 12 Jul 2013, at 22:47, "O. Hartmann" <ohart...@zedat.fu-berlin.de> wrote:

Obviously not really fixed, but even worse:

if I use in C code (C99, using clang 3.3 on FreeBSD 10.0-CURRENT/amd64
revision 253287) isnan(x) where x is a "const double", I receive now
the following error (which doesn't appear on previous versions):

Thanks.  This is now fixed, however the _Generic() usage that we had there is 
also present in tgmath.h, and so this file will also need to be fixed in the 
same way.

I've now tested the macros with clang/c99, clang/c11, clang/c++98 and 
clang/c++11, and gcc/c89 and they all seem to work for unqualified, const, 
volatile, and const-volatile qualified types.

I've added Ed to the cc: list, as he wrote this code in tgmath.h.

David


Instead of listing all possible type qualifier combinations (like in r253319), how about using a comma operator to strip away type qualifiers? Since only the result type of the expression matters and it isn't evaluated at all.

like:

#define __fp_type_select(x, f, d, ld) _Generic((0,(x)),

Pasi
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to