The #ifdef RADIXCHAR directive should be moved one line up so that it
also guards the outer if statement, or else when RADIXCHAR is not
defined the outer if statement will end up nonsensically guarding the
declaration of output_length_upper_bound a few lines below it.
libstdc++-v3/ChangeLog:
PR libstdc++/98377
* src/c++17/floating_to_chars.cc (__floating_to_chars_precision):
Fix mistake.
// Since the output of printf is locale-sensitive, we need to be able
// to handle a radix point that's different from '.'.
char radix[6] = {'.', '\0', '\0', '\0', '\0', '\0'};
- if (effective_precision > 0)
#ifdef RADIXCHAR
+ if (effective_precision > 0)
// ???: Can nl_langinfo() ever return null?
if (const char* const radix_ptr = nl_langinfo(RADIXCHAR))
{