[Users] 'Ambiguous' g++ collisions on isnan (cmath), -std=gnu++0x
Scott Hawley
scott.hawley at belmont.edu
Thu Aug 2 13:58:58 CDT 2012
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/Thorns
" -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-linux
-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-linux
-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-linux
-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.
More information about the Users
mailing list