From 60cecb2b83ffcebac6e83076f5552df14b073248 Mon Sep 17 00:00:00 2001
From: Patrick Palka <ppalka@redhat.com>
Date: Fri, 18 Dec 2020 13:01:49 -0500
Subject: [PATCH] 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.
---
 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 3f46bce7a15c..b7c31c746cce 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))
 	    {
-- 
GitLab