gcc/libstdc++-v3
Jonathan Wakely 3bb9f9329c libstdc++: Fix std::format for pointers [PR110239]
The formatter for pointers was casting to uint64_t which sign extends a
32-bit pointer and produces a value that won't fit in the provided
buffer. Cast to uintptr_t instead.

There was also a bug in the __parse_integer helper when converting a
wide string to a narrow string in order to use std::from_chars on it.
The function would always try to read 32 characters, even if the format
string was shorter than that. Fix that bug, and remove the constexpr
implementation of __parse_integer by just using __from_chars_alnum
instead of from_chars, because that's usable in constexpr even in
C++20.

libstdc++-v3/ChangeLog:

	PR libstdc++/110239
	* include/std/format (__format::__parse_integer): Fix buffer
	overflow for wide chars.
	(formatter<const void*, C>::format): Cast to uintptr_t instead
	of uint64_t.
	* testsuite/std/format/string.cc: Test too-large widths.
2023-06-26 17:43:22 +01:00
..
config c++: use __cxa_call_terminate for MUST_NOT_THROW [PR97720] 2023-06-03 21:49:00 -04:00
doc libstdc++: Clarify manual demangle doc 2023-06-14 15:01:06 +01:00
include libstdc++: Fix std::format for pointers [PR110239] 2023-06-26 17:43:22 +01:00
libsupc++ c++: use __cxa_call_terminate for MUST_NOT_THROW [PR97720] 2023-06-03 21:49:00 -04:00
po Update copyright years. 2023-01-16 11:52:17 +01:00
python libstdc++: Fix <chrono> pretty printers and add tests 2023-05-09 20:36:56 +01:00
scripts Update copyright years. 2023-01-16 11:52:17 +01:00
src libstdc++: Remove duplicate definition of _Float128 std::from_chars [PR110077] 2023-06-09 13:15:39 +01:00
testsuite libstdc++: Fix std::format for pointers [PR110239] 2023-06-26 17:43:22 +01:00
ChangeLog Daily bump. 2023-06-24 00:17:01 +00:00
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015
ChangeLog-2016
ChangeLog-2017
ChangeLog-2018
ChangeLog-2019
ChangeLog-2020
ChangeLog-2021 Rotate ChangeLog files - part 1 - add ChangeLog-2021. 2022-01-03 10:18:16 +01:00
ChangeLog-2022 Rotate ChangeLog files. 2023-01-01 16:20:13 +01:00
Makefile.am libstdc++: Enable building libstdc++.{a,so} when !HOSTED 2023-02-06 14:23:46 +00:00
Makefile.in libstdc++: Enable building libstdc++.{a,so} when !HOSTED 2023-02-06 14:23:46 +00:00
README
acinclude.m4 libstdc++: Bump library version to libstdc++.so.6.0.33 2023-06-09 13:08:26 +01:00
aclocal.m4 libstdc++: Don't use gstdint.h anymore 2022-10-29 00:55:42 +01:00
config.h.in libstdc++: Use copy_file_range for filesystem::copy_file 2023-06-06 12:31:57 +01:00
configure libstdc++-v3: do not duplicate some math functions when using newlib 2023-06-16 03:23:44 -03:00
configure.ac libstdc++-v3: do not duplicate some math functions when using newlib 2023-06-16 03:23:44 -03:00
configure.host libstdc++: Fix up abi.exp FAILs on powerpc64-linux 2023-05-03 22:31:40 +02:00
crossconfig.m4 libstdc++: Allow emergency EH alloc pool size to be tuned [PR68606] 2022-10-11 16:21:48 +01:00
fragment.am
linkage.m4

README

file: libstdc++-v3/README

New users may wish to point their web browsers to the file
index.html in the 'doc/html' subdirectory.  It contains brief
building instructions and notes on how to configure the library in
interesting ways.