From: Ronan Desplanques <desplanq...@adacore.com> Before this patch, GNAT.Formatted_String.Formatted_String failed to handle format strings with two or more specifiers whose widths were specified with the "*" syntax. This patch makes the parser correctly reset its bits of state related to width and precision parsing when needed.
gcc/ada/ * libgnat/g-forstr.adb (P_Int_Format): Fix parsing bug. Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/libgnat/g-forstr.adb | 1 + 1 file changed, 1 insertion(+) diff --git a/gcc/ada/libgnat/g-forstr.adb b/gcc/ada/libgnat/g-forstr.adb index 8353e2c4ad8..c9fb86b44f7 100644 --- a/gcc/ada/libgnat/g-forstr.adb +++ b/gcc/ada/libgnat/g-forstr.adb @@ -808,6 +808,7 @@ package body GNAT.Formatted_String is Format.D.Index := Start; return Format; end if; + Format.D.Stored_Value := 0; case F.Kind is when Unsigned_Octal => -- 2.34.1