This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug math/22146] C++ build issue with float128 on x86_64
- From: "joseph at codesourcery dot com" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Wed, 20 Sep 2017 21:21:44 +0000
- Subject: [Bug math/22146] C++ build issue with float128 on x86_64
- Auto-submitted: auto-generated
- References: <bug-22146-131@http.sourceware.org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=22146
--- Comment #10 from joseph at codesourcery dot com <joseph at codesourcery dot com> ---
On Wed, 20 Sep 2017, romain.naour at gmail dot com wrote:
> Hi have a different error from the config.log. I'm using gcc 7.x (commit
> 56ce01906ecb0a3e04411f8ceb60b27f4877f070)
>
> configure:18385: checking for obsolete isnan function in <math.h>
That's nothing to do with float128. The obsolete X/Open isnan C function
isn't declared by glibc for C++, deliberately. That test is *meant* to
fail.
Look at the <cmath> and <math.h> installed with GCC - in locations such as
<target>/include/c++/7.2.1/math.h. The math.h header should include
<cmath> and then have various using declarations. The cmath header should
include directives such as "#undef fpclassify" (meaning that all these
math.h macros in glibc's math.h are completely irrelevant for C++). If
they don't, you need to trace back why the wrong versions of those headers
got installed by libstdc++ (compare configure results with an installation
built without --enable-target-optspace, for example). If the headers look
as expected, you need to trace the exact sequence of header inclusions,
macros defines and undefines seen in your C++ test, to see why the C
macros are visible for C++ when they should always be undefined by the C++
cmath header, which is included from the C++ version of math.h.
--
You are receiving this mail because:
You are on the CC list for the bug.