[patch] Restore isinf, isinfl, isnanf and isnanl for C++11
Jonathan Wakely
jwakely@redhat.com
Mon Feb 1 16:26:00 GMT 2016
It was pointed out to me that my patch for BZ #19439 (committed as
d9b965fa56350d6eea9f7f438a0714c7ffbb183f on Jan 11) does more than I
intended it to. Only the double versions of isinf and isnan conflict
with C++11 functions, but my patch also prevents the long double and
float versions from being declared.
C++11 code using isinf and isnan continues to compile after that
change, because the C++11 standard library provides its own versions
conforming to the C++11 requirements. However, the C++11 library
doesn't provide isinff, isinfl etc. and so code using those
(non-standard) functions will no longer compile if they are not
declared by glibc.
This patch tweaks my change so that only the isinf(double) and
isnan(double) declarations are suppressed, and the float and long
double versions are still declared, even for C++11.
We would like this to get into 2.23 as well, so that only the
problematic functions that conflict with C++11 get removed in glibc
2.23, and the other functions remain.
Sorry for the unintended consequences of my previous patch.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.txt
Type: text/x-patch
Size: 1477 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20160201/0fe7d092/attachment.bin>
More information about the Libc-alpha
mailing list