[gcc r11-6261] libstdc++: Fix mistake in PR98374 change [PR98377]

Patrick Palka ppalka@gcc.gnu.org
Fri Dec 18 18:03:55 GMT 2020


https://gcc.gnu.org/g:60cecb2b83ffcebac6e83076f5552df14b073248

commit r11-6261-g60cecb2b83ffcebac6e83076f5552df14b073248
Author: Patrick Palka <ppalka@redhat.com>
Date:   Fri Dec 18 13:01:49 2020 -0500

    libstdc++: Fix mistake in PR98374 change [PR98377]
    
    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.

Diff:
---
 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))
 	    {


More information about the Libstdc++-cvs mailing list