diff mbox series

[committed] libstdc++: Fix regression in std::format output of %Y for negative years

Message ID 20231213123140.1610945-1-jwakely@redhat.com
State New
Headers show
Series [committed] libstdc++: Fix regression in std::format output of %Y for negative years | expand

Commit Message

Jonathan Wakely Dec. 13, 2023, 12:30 p.m. UTC
It seems that what I pushed didn't match what I tested, due to testing
on a different machine!

Tested x86_64-linux, on the right machine this time. Pushed to trunk.

-- >8 --

The change in r14-6468-ga01462ae8bafa8 was only supposed to apply to %C
formats, not %Y.

libstdc++-v3/ChangeLog:

	* include/bits/chrono_io.h (__formatter_chrono::_M_C_y_Y): Do
	not round century down for %Y formats.
---
 libstdc++-v3/include/bits/chrono_io.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/libstdc++-v3/include/bits/chrono_io.h b/libstdc++-v3/include/bits/chrono_io.h
index b63b8592eba..bcd76e4ab7b 100644
--- a/libstdc++-v3/include/bits/chrono_io.h
+++ b/libstdc++-v3/include/bits/chrono_io.h
@@ -825,7 +825,7 @@  namespace __format
 		{
 		  __s.assign(1, _S_plus_minus[1]);
 		  // For floored division -123//100 is -2 and -100//100 is -1
-		  if ((__ci * 100) != __yi)
+		  if (__conv == 'C' && (__ci * 100) != __yi)
 		    ++__ci;
 		}
 	      if (__ci >= 100) [[unlikely]]