#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.