[Users] 'Ambiguous' g++ collisions on isnan (cmath), -std=gnu++0x

Erik Schnetter schnetter at cct.lsu.edu
Thu Aug 2 14:36:29 CDT 2012


The solution is likely to wrap the calls to isnan into a my_isnan function, similar to the way in which signbit is wrapped. I am testing a patch.

-erik

On 2012-08-02, at 15:14 , Scott Hawley <scott.hawley at belmont.edu> wrote:

> I added '-D__builtin_isinf=::isinf -D__builtin_isnan=::isnan' as I saw in
> a few simfactory .cfg files, but no luck.
> 
> (Thanks to 
> http://lists.einsteintoolkit.org/pipermail/users/2011-June/001151.html)
> 
> There is currently no nautilus.cfg file, but if someone would like access
> to Nautilus in order to make one (which is what I seem to be doing,
> slowly), I'd be happy to add you to my allocation! :-)
> 
> 
> 
> 
> 
> 
> On 8/2/12 1:58 PM, "Scott Hawley" <scott.hawley at belmont.edu> wrote:
> 
>> Hi.  The following is a well-documented collision that occurs with the
>> cmath header.  
>> 
>> The fixes I've seen around the 'net all involve modifying the source and
>> putting in #define statements. But the code in question isn't mine.
>> 
>> Is there a "-f_____" compiler flag I set instead?
>> 
>> Thanks,
>> Scott
>> 
>> 
>> 
>> COMPILING 
>> /nics/c/home/hawleys/Cactus/arrangements/LSUThorns/Vectors/src/test.cc
>> current_wd=`pwd` ; cd /nics/c/home/hawleys/Cactus/configs/texmex/scratch ;
>> g++ -LMPICH_IGNORE_CXX_SEEK -g -DCARPET_DEBUG  -fopenmp  -O2 -m64
>> -std=gnu++0x -g -O0 -O3 -fopenmp  -c -o $current_wd/test.cc.o
>> $current_wd/test.cc
>> -I"/nics/c/home/hawleys/Cactus/arrangements/LSUThorns/Vectors/src"
>> -I"/nics/c/home/hawleys/Cactus/arrangements/LSUThorns/Vectors/src/include"
>> -I"/nics/c/home/hawleys/Cactus/configs/texmex/config-data"
>> -I"/nics/c/home/hawleys/Cactus/configs/texmex/bindings/include"
>> -I"/nics/c/home/hawleys/Cactus/src/include"
>> -I"/nics/c/home/hawleys/Cactus/arrangements"
>> -I"/nics/c/home/hawleys/Cactus/configs/texmex/bindings/Configuration/Thorn
>> s
>> " -I"/nics/c/home/hawleys/Cactus/configs/texmex/bindings/include/Vectors"
>> -I"/nics/c/home/hawleys/Cactus/arrangements/LSUThorns/Vectors/src"
>> -I"/nics/c/home/hawleys/Cactus/arrangements/LSUThorns/Vectors/src/include"
>> -I"/nics/c/home/hawleys/Cactus/configs/texmex/bindings/include/Vectors"
>> -DCCODE
>> /nics/c/home/hawleys/Cactus/configs/texmex/build/Vectors/test.cc: In
>> function Œvoid Vectors_Test(cGH*)¹:
>> /nics/c/home/hawleys/Cactus/configs/texmex/build/Vectors/test.cc:112:3:
>> error: call of overloaded Œisnan(double&)¹ is ambiguous
>> /nics/c/home/hawleys/Cactus/configs/texmex/build/Vectors/test.cc:112:3:
>> note: candidates are:
>> /usr/include/bits/mathcalls.h:235:1: note: int isnan(double)
>> /nics/e/sw/local/nautilus/opt/gcc/4.6.3/bin/../lib/gcc/x86_64-unknown-linu
>> x
>> -gnu/4.6.3/../../../../include/c++/4.6.3/cmath:552:3: note: bool
>> std::isnan(long double)
>> /nics/e/sw/local/nautilus/opt/gcc/4.6.3/bin/../lib/gcc/x86_64-unknown-linu
>> x
>> -gnu/4.6.3/../../../../include/c++/4.6.3/cmath:548:3: note: bool
>> std::isnan(double)
>> /nics/e/sw/local/nautilus/opt/gcc/4.6.3/bin/../lib/gcc/x86_64-unknown-linu
>> x
>> -gnu/4.6.3/../../../../include/c++/4.6.3/cmath:544:3: note: bool
>> std::isnan(float)
>> /nics/c/home/hawleys/Cactus/configs/texmex/build/Vectors/test.cc:112:3:
>> error: call of overloaded Œisnan(double&)¹ is ambiguous
>> /nics/c/home/hawleys/Cactus/configs/texmex/build/Vectors/test.cc:112:3:
>> note: candidates are:
>> /usr/include/bits/mathcalls.h:235:1: note: int isnan(double)
>>  (  ...more of the same...   )
>> make[3]: *** [test.cc.o] Error 1
>> make[3]: Leaving directory
>> `/nics/c/home/hawleys/Cactus/configs/texmex/build/Vectors'
>> make[2]: *** [make.checked] Error 2
>> make[2]: Leaving directory
>> `/nics/c/home/hawleys/Cactus/configs/texmex/build/Vectors'
>> make[1]: *** 
>> [/nics/c/home/hawleys/Cactus/configs/texmex/lib/libthorn_Vectors.a] Error
>> 2
>> make[1]: Leaving directory `/nics/c/home/hawleys/Cactus'
>> make: *** [texmex] Error 2
>> 
>> hawleys/Cactus> g++ --version
>> g++ (GCC) 4.6.3
>> Copyright (C) 2011 Free Software Foundation, Inc.
>> This is free software; see the source for copying conditions.  There is NO
>> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
>> PURPOSE.
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> Users mailing list
>> Users at einsteintoolkit.org
>> http://lists.einsteintoolkit.org/mailman/listinfo/users
>> 
> 
> _______________________________________________
> Users mailing list
> Users at einsteintoolkit.org
> http://lists.einsteintoolkit.org/mailman/listinfo/users

-- 
Erik Schnetter <eschnetter at perimeterinstitute.ca>
http://www.perimeterinstitute.ca/personal/eschnetter/
AIM: eschnett247, Skype: eschnett, Google Talk: schnetter at gmail.com



More information about the Users mailing list