You and Iain Sandoe should coordinate on this one, given the work he's doing on libquadmath.
> -----Original Message----- > From: Andreas Schwab <sch...@suse.de> > Sent: Monday, March 24, 2025 06:42 > To: gcc-patches@gcc.gnu.org > Cc: jklow...@cobolworx.com; rdub...@symas.com > Subject: [PATCH] libgcobol: use standard f128 suffix instead of Q for > _Float128 literals > > * intrinsic.cc: Use standard f128 suffix for _Float128 literals. > * libgcobol.cc: Likewise. > --- > libgcobol/intrinsic.cc | 18 +++++++++--------- > libgcobol/libgcobol.cc | 36 ++++++++++++++++++------------------ > 2 files changed, 27 insertions(+), 27 deletions(-) > > diff --git a/libgcobol/intrinsic.cc b/libgcobol/intrinsic.cc > index e3d255a29d6..6dfd98704c2 100644 > --- a/libgcobol/intrinsic.cc > +++ b/libgcobol/intrinsic.cc > @@ -55,7 +55,7 @@ > > #define JD_OF_1601_01_02 2305812.5 > > -#define WEIRD_TRANSCENDENT_RETURN_VALUE (0.0Q) > +#define WEIRD_TRANSCENDENT_RETURN_VALUE (0.0f128) > #define NO_RDIGITS (0) > > struct cobol_tm > @@ -981,7 +981,7 @@ __gg__acos( cblc_field_t *dest, > _Float128 value; > value = __gg__float128_from_qualified_field(source, source_offset, > source_size); > > - if( value < -1.00Q || value > +1.00Q ) > + if( value < -1.00f128 || value > +1.00f128 ) > { > exception_raise(ec_argument_function_e); > value = WEIRD_TRANSCENDENT_RETURN_VALUE; > @@ -1056,7 +1056,7 @@ __gg__asin( cblc_field_t *dest, > source_offset, > source_size); > > - if( value < -1.0Q || value > +1.00Q ) > + if( value < -1.0f128 || value > +1.00f128 ) > { > exception_raise(ec_argument_function_e); > value = WEIRD_TRANSCENDENT_RETURN_VALUE; > @@ -1366,7 +1366,7 @@ void > __gg__e(cblc_field_t *dest) > { > // FUNCTION E > - static _Float128 e = 2.7182818284590452353602874713526624977572Q; > + static _Float128 e = 2.7182818284590452353602874713526624977572f128; > __gg__float128_to_field(dest, > e, > truncation_e, > @@ -1404,7 +1404,7 @@ __gg__exp10(cblc_field_t *dest, > _Float128 value = __gg__float128_from_qualified_field(source, > source_offset, > source_size); > - value = powf128(10.0Q, value); > + value = powf128(10.0f128, value); > __gg__float128_to_field(dest, > value, > truncation_e, > @@ -3169,7 +3169,7 @@ __gg__pi(cblc_field_t *dest) > { > // FUNCTION PI > > - static _Float128 pi = 3.141592653589793238462643383279502884Q; > + static _Float128 pi = 3.141592653589793238462643383279502884f128; > __gg__float128_to_field(dest, > pi, > truncation_e, > @@ -3198,12 +3198,12 @@ __gg__present_value(cblc_field_t *dest, > _Float128 arg1 = > __gg__float128_from_qualified_field(__gg__treeplet_1f[i], > > __gg__treeplet_1o[i], > > __gg__treeplet_1s[i]); > - if( arg1 <= -1.0Q ) > + if( arg1 <= -1.0f128 ) > { > exception_raise(ec_argument_function_e); > break; > } > - discount = 1.0Q / (1.0Q + arg1); > + discount = 1.0f128 / (1.0f128 + arg1); > } > else > { > @@ -3562,7 +3562,7 @@ __gg__sqrt( cblc_field_t *dest, > source_offset, > source_size); > > - if( value <= 0.0Q ) > + if( value <= 0.0f128 ) > { > exception_raise(ec_argument_function_e); > } > diff --git a/libgcobol/libgcobol.cc b/libgcobol/libgcobol.cc > index 0890835822c..be179d4d9b9 100644 > --- a/libgcobol/libgcobol.cc > +++ b/libgcobol/libgcobol.cc > @@ -858,7 +858,7 @@ int128_to_int128_rounded( cbl_round_t rounded, > _Float128 fpart = _Float128(remainder) / _Float128(factor); > __int128 retval = value; > > - if(rounded == nearest_even_e && fpart != -0.5Q && fpart != 0.5Q ) > + if(rounded == nearest_even_e && fpart != -0.5f128 && fpart != 0.5f128 ) > { > // "bankers rounding" has been requested. > // > @@ -879,14 +879,14 @@ int128_to_int128_rounded( cbl_round_t rounded, > // 0.5 through 0.9 becomes 1 > if( value < 0 ) > { > - if( fpart <= -0.5Q ) > + if( fpart <= -0.5f128 ) > { > retval -= 1; > } > } > else > { > - if( fpart >= 0.5Q ) > + if( fpart >= 0.5f128 ) > { > retval += 1; > } > @@ -920,14 +920,14 @@ int128_to_int128_rounded( cbl_round_t rounded, > // 0.6 through 0.9 becomes 1 > if( value < 0 ) > { > - if( fpart < -0.5Q ) > + if( fpart < -0.5f128 ) > { > retval -= 1; > } > } > else > { > - if( fpart > 0.5Q ) > + if( fpart > 0.5f128 ) > { > retval += 1; > } > @@ -1017,7 +1017,7 @@ f128_to_i128_rounded( cbl_round_t rounded, > _Float128 fpart = modff128(value, &ipart); > __int128 retval = (__int128)ipart; > > - if(rounded == nearest_even_e && fpart != -0.5Q && fpart != 0.5Q ) > + if(rounded == nearest_even_e && fpart != -0.5f128 && fpart != 0.5f128 > ) > { > // "bankers rounding" has been requested. > // > @@ -1038,14 +1038,14 @@ f128_to_i128_rounded( cbl_round_t rounded, > // 0.5 through 0.9 becomes 1 > if( value < 0 ) > { > - if( fpart <= -0.5Q ) > + if( fpart <= -0.5f128 ) > { > retval -= 1; > } > } > else > { > - if( fpart >= 0.5Q ) > + if( fpart >= 0.5f128 ) > { > retval += 1; > } > @@ -1079,14 +1079,14 @@ f128_to_i128_rounded( cbl_round_t rounded, > // 0.6 through 0.9 becomes 1 > if( value < 0 ) > { > - if( fpart < -0.5Q ) > + if( fpart < -0.5f128 ) > { > retval -= 1; > } > } > else > { > - if( fpart > 0.5Q ) > + if( fpart > 0.5f128 ) > { > retval += 1; > } > @@ -9229,12 +9229,12 @@ float128_to_int128( int *rdigits, > // We now multiply our value by 10**rdigits, in order to make the > // floating-point value have the same magnitude as our target > __int128 > > - value *= powf128(10.0Q, (_Float128)(*rdigits)); > + value *= powf128(10.0f128, (_Float128)(*rdigits)); > > // We are ready to cast value to an __int128. But this value could > be > // too large to fit, which is an error condition we want to flag: > > - if( fabsf128(value) >= 1.0E38Q ) > + if( fabsf128(value) >= 1.0E38f128 ) > { > *compute_error = compute_error_overflow; > } > @@ -9263,7 +9263,7 @@ float128_to_location( cblc_field_t *tgt, > { > case 4: > if( fabsf128(value) == (_Float128)INFINITY > - || fabsf128(value) > 3.4028235E38Q ) > + || fabsf128(value) > 3.4028235E38f128 ) > { > if( compute_error ) > { > @@ -9286,7 +9286,7 @@ float128_to_location( cblc_field_t *tgt, > > case 8: > if( fabsf128(value) == (_Float128)INFINITY > - || fabsf128(value) > 1.7976931348623157E308Q ) > + || fabsf128(value) > 1.7976931348623157E308f128 ) > { > if( compute_error ) > { > @@ -11529,7 +11529,7 @@ __gg__float32_from_int128(cblc_field_t > *destination, > source->capacity); > value /= __gg__power_of_ten(rdigits); > > - if( fabsf128(value) > 3.4028235E38Q ) > + if( fabsf128(value) > 3.4028235E38f128 ) > { > if(size_error) > { > @@ -11633,7 +11633,7 @@ __gg__float32_from_128( cblc_field_t *dest, > //_Float128 value = *(_Float128*)(source->data+source_offset); > _Float128 value; > memcpy(&value, source->data+source_offset, 16); > - if( fabsf128(value) > 3.4028235E38Q ) > + if( fabsf128(value) > 3.4028235E38f128 ) > { > retval = 1; > } > @@ -11653,7 +11653,7 @@ __gg__float32_from_64( cblc_field_t *dest, > { > int retval = 0; > _Float64 value = *(_Float64*)(source->data+source_offset); > - if( fabsf128(value) > 3.4028235E38Q ) > + if( fabsf128(value) > 3.4028235E38f128 ) > { > retval = 1; > } > @@ -11675,7 +11675,7 @@ __gg__float64_from_128( cblc_field_t *dest, > // _Float128 value = *(_Float128*)(source->data+source_offset); > _Float128 value; > memcpy(&value, source->data+source_offset, 16); > - if( fabsf128(value) > 1.7976931348623157E308 ) > + if( fabsf128(value) > 1.7976931348623157E308f128 ) > { > retval = 1; > } > -- > 2.49.0 > > > -- > Andreas Schwab, SUSE Labs, sch...@suse.de > GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 > "And now for something completely different."