Sparc build fail due to no Endianness
When building boost 1.55.0 on Sparc the following errors occur throughout the compilation.
./boost/predef/architecture/sparc.h:40:37: error: operator '&&' has no right operand
In file included from ./boost/math/special_functions/sign.hpp:18,
from ./boost/lexical_cast.hpp:167,
from ./boost/graph/graphml.hpp:16,
from libs/graph/src/graphml.cpp:17:
./boost/math/special_functions/detail/fp_traits.hpp:472: error: invalid application of 'sizeof' to incomplete type 'boost::STATIC_ASSERTION_FAILURE<false>'
./boost/math/special_functions/detail/fp_traits.hpp: In static member function 'static void boost::math::detail::fp_traits_non_native<long double, boost::math::detail::extended_double_precision>::get_bits(long double, boost::uint32_t&)':
./boost/math/special_functions/detail/fp_traits.hpp:457: error: 'offset_' was not declared in this scope
./boost/math/special_functions/detail/fp_traits.hpp: In static member function 'static void boost::math::detail::fp_traits_non_native<long double, boost::math::detail::extended_double_precision>::set_bits(long double&, boost::uint32_t)':
./boost/math/special_functions/detail/fp_traits.hpp:462: error: 'offset_' was not declared in this scope
It seems that the endian.h files were changed since 1.54, and in that transition sparc was forgotten about. I was able to solve the compilation issue with the attached patch.
1.55.0 sparc build patch