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

--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I think the floating point literals in libgcobol should be wrapped with a macro
which adds the appropriate suffix.
E.g. libgfortran has
#ifdef USE_IEC_60559
#define GFC_REAL_17_USE_IEC_60559
#define GFC_REAL_17_HUGE 1.18973149535723176508575932662800702e4932f128
#define GFC_REAL_17_LITERAL_SUFFIX f128
#define GFC_REAL_17_LITERAL(X) (X ## f128)
#else
#define GFC_REAL_17_HUGE 1.18973149535723176508575932662800702e4932q
#define GFC_REAL_17_LITERAL_SUFFIX q
#define GFC_REAL_17_LITERAL(X) (X ## q)
#endif
Note, the last possible suffix would be l/L on targets where long double is
IEEE quad long double, but glibc *f128 support isn't there yet (or isn't
guaranteed) and libquadmath support is missing (obviously, there is no point to
have libquadmath when
just any libc will handle *l APIs correctly).
Just note that strfromld etc. APIs are C23 and so one might need to use sprintf
instead.

Reply via email to