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.