https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98202

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Other option would be just hardcode those 4 constants by hand:
#define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128
#define __FLT128_NORM_MAX__ 1.18973149535723176508575932662800702e+4932F128
#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128
#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128
#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128
with __extension__ before it and Q suffix instead of F128.  For __float128
I think those constants aren't going to change.
Advantage of doing that would be that even various versions of clang++ support
that,
while F128 suffix isn't supported.
So, use:
(__extension__ 0x1.ffffffffffffffffffffffffffffp+16383Q)
(__extension__ 0x1.ffffffffffffffffffffffffffffp+16383Q)
(__extension__ 0x1.0000000000000000000000000000p-16382Q)
(__extension__ 0x1.0000000000000000000000000000p-112Q)
(__extension__ 0x0.0000000000000000000000000001p-16382Q)
instead of those 4 constants.

Reply via email to