boostorg/math

float128 with gcc master

sloriot opened this issue · 6 comments

Hi,

with gcc@ce2188e4320cbb46d6246bd3f478ba20440c62f3, I have the following error during compilation:

boost_1_82_0/include/boost/math/cstdfloat/cstdfloat_limits.hpp:46:13: error: redefinition of ‘class std::numeric_limits<__float128>’
   46 |       class numeric_limits<boost::math::cstdfloat::detail::float_internal128_t>

I guess it has to do with BOOST_CSTDFLOAT_HAS_INTERNAL_FLOAT128_T being not correctly defined after gcc's update or something like that. I only tested boost 1.82 (sorry if it has already been fixed in HEAD).

cc @afabri

minimal example:

#include <boost/math/cstdfloat/cstdfloat_limits.hpp>

int main()
{}

minimal example:

#include <boost/math/cstdfloat/cstdfloat_limits.hpp>

int main()
{}

I don't see it with GCC 13.1 on godbolt: https://godbolt.org/z/h39GTMz16.

that's gcc master targeting gcc 14

that's gcc master targeting gcc 14

That's fun. Thanks for the heads up.

x86-64 gcc (trunk) in godbolt, right?

x86-64 gcc (trunk) in godbolt, right?

Yes, and it does reproduce the error.