#1956 closed Bugs (fixed)
gcc43 doesn't compile boost/math/tr1.hpp
Reported by: | Owned by: | John Maddock | |
---|---|---|---|
Milestone: | Boost 1.36.0 | Component: | math |
Version: | Boost Development Trunk | Severity: | Showstopper |
Keywords: | Cc: |
Description
It fails with (gfilt wraps g++-4.3.0)
"gfilt" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -fPIC -DBOOST_ALL_NO_LIB=1 -DBOOST_MATH_TR1_DYN_LINK=1 -I"." -c -o "bin.v2/libs/math/build/gcc-4.3.0/debug/atanh.o" "libs/math/build/../src/tr1/atanh.cpp" In file included from libs/math/build/../src/tr1/atanh.cpp:7: ./boost/math/tr1.hpp: In function ‘bool boost::math::tr1::signbit(T)’: ./boost/math/tr1.hpp:608: error: there are no arguments to ‘ BOOST_STATIC_ASSERT’ that depend on a template parameter, so a declaration of ‘BOOST_STATIC_ASSERT’ must be available ./boost/math/tr1.hpp:608: error: ( if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) ./boost/math/tr1.hpp: In function ‘int boost::math::tr1::fpclassify(T)’: ...
I bet this is due to
#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS #include <boost/static_assert.hpp> #endif
in boost/math/tools/promotion.hpp
Note:
See TracTickets
for help on using tickets.
Yep, it's a missing #include
Now fixed in SVN, I hope!
John.