Opened 14 years ago

Closed 14 years ago

Last modified 14 years ago

#1956 closed Bugs (fixed)

gcc43 doesn't compile boost/math/tr1.hpp

Reported by: Maik Beckmann <Beckmann.Maik@…> 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

Change History (2)

comment:1 by John Maddock, 14 years ago

Resolution: fixed
Status: newclosed

Yep, it's a missing #include

Now fixed in SVN, I hope!

John.

comment:2 by Maik Beckmann, 14 years ago

It is, thanks.

-- Maik

Note: See TracTickets for help on using tickets.