[committed] libstdc++: Fix mistake in PR98374 change [PR98377]

Patrick Palka ppalka@redhat.com
Fri Dec 18 18:04:29 GMT 2020


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.
---
 libstdc++-v3/src/c++17/floating_to_chars.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libstdc++-v3/src/c++17/floating_to_chars.cc b/libstdc++-v3/src/c++17/floating_to_chars.cc
index 3f46bce7a15..b7c31c746cc 100644
--- a/libstdc++-v3/src/c++17/floating_to_chars.cc
+++ b/libstdc++-v3/src/c++17/floating_to_chars.cc
@@ -1114,8 +1114,8 @@ template<typename T>
 	// 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))
 	    {
-- 
2.30.0.rc0



More information about the Libstdc++ mailing list