[PATCH] Fix libstdc++-v3/include/math.h:66:1 2: error: 'constexpr bool std::isnan(double)' conflicts with a previous declaration

Jonathan Wakely jwakely@redhat.com
Thu Feb 4 22:41:00 GMT 2016


On 04/02/16 17:31 -0500, John David Anglin wrote:
>On 2016-02-04 5:11 PM, Gerald Pfeifer wrote:
>>In file included from .././../gcc-6-20160131/gcc/genautomata.c:116:0:
>>/wrkdirs/usr/ports/lang/gcc6-devel/work/gcc-6-20160131/libstdc++-v3/include/c_compatibility/math.h:65:12:
>>error: 'constexpr bool std::isinf(double)' conflicts with a previous declaration
>>  using std::isinf;
>>             ^~~~~
>>
>>See
>>http://beefy2.nyi.freebsd.org/data/93amd64-default/408008/logs/gcc6-devel-6.0.0.s20160131.log  
>>for a full log.
>The checks for obsolete isinf(double) and isnan(double) are not run on 
>freebsd.  Apparently,
>the checks in acinclude.m4 need to be run on freebsd as well.  Maybe 
>the checks should run almost
>everywhere?

Yes, maybe. I didn't realise those functions were so widespread, but
if they are I'm amazed more people weren't yelling about
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48891

>The problem wasn't introduced by my change but earlier by Jonathan. I 
>added hpux to the list
>of systems with obsolete defines.  The default is to assume there are 
>no obsolete defines.

I think it should be harmless to run the checks on all systems. If
they don't have obsolete defines we'll detect that. If they do things
will start working.



More information about the Gcc-patches mailing list