[Bug c++/98202] C++ cannot parse F128 suffix for float128 literals

2023-05-17 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98202

--- Comment #5 from Jonathan Wakely  ---
Q can't be used with -std=c++NN strict modes, as noted in bug 87274

limits:2085: error: unable to find numeric literal operator 'operator""Q'

[Bug c++/98202] C++ cannot parse F128 suffix for float128 literals

2023-05-16 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98202

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #4 from Jakub Jelinek  ---
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.p+16383Q)
(__extension__ 0x1.p+16383Q)
(__extension__ 0x1.p-16382Q)
(__extension__ 0x1.p-112Q)
(__extension__ 0x0.0001p-16382Q)
instead of those 4 constants.

[Bug c++/98202] C++ cannot parse F128 suffix for float128 literals

2023-05-16 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98202

--- Comment #3 from Jonathan Wakely  ---
With GCC 13 it's now a pedwarn:

f128.cc:1:1: warning: 'f128' or 'F128' suffix on floating constant only
available with '-std=c++2b' or '-std=gnu++2b' [-Wpedantic]

[Bug c++/98202] C++ cannot parse F128 suffix for float128 literals

2022-02-24 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98202

Jonathan Wakely  changed:

   What|Removed |Added

 Resolution|--- |DUPLICATE
 Status|UNCONFIRMED |RESOLVED

--- Comment #2 from Jonathan Wakely  ---
I suppose we can combine them.

This one is about the internal macros, which do not require -std=gnu++NN modes,
and they fail to compile even if you use a gnu++NN mode. The other bug only
fails for strict c++NN modes.

*** This bug has been marked as a duplicate of bug 87274 ***

[Bug c++/98202] C++ cannot parse F128 suffix for float128 literals

2022-02-23 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98202

Andrew Pinski  changed:

   What|Removed |Added

   See Also||https://gcc.gnu.org/bugzill
   ||a/show_bug.cgi?id=87274

--- Comment #1 from Andrew Pinski  ---
Isn't this a dup of bug 87274 ?