[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