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

Erik Schnetter schnetter at cct.lsu.edu
Thu Aug 2 15:40:56 CDT 2012


Try now.

-erik

On 2012-08-02, at 15:36 , Erik Schnetter <schnetter at cct.lsu.edu> wrote:

> 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
> 
> _______________________________________________
> 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