tree dd47153a69cba6c01feb1f40b76e0cf5838fc97a
parent ab3781665da064985d66de0c895cc43588179cb6
author Jonathan Wakely <jwakely@redhat.com> 1751968101 +0100
committer Jonathan Wakely <redi@gcc.gnu.org> 1752223087 +0100
gpgsig -----BEGIN SSH SIGNATURE-----
 U1NIU0lHAAAAAQAAAhcAAAAHc3NoLXJzYQAAAAMBAAEAAAIBALuwf5VDJR4dRnHJAGYibx
 lckfAd3VDP8CyICvqpLfm6l9XP6KEjwxVrBbHgw7mDgjF3lr4t3bNQ1qP4ijXgqjZD6zJZ
 /kDrdBIHdxOa+pcSt8fQFh5rldeTSUjKSmXBp9z1Kek9rm1bcGo66eA1qQrouDeKwyOem9
 ou6CKYXMkI1oBrrWf+mvGBWSOO7pal3f+7z4tsJIQa9tsLogpZ2YfPzG1CTIXtQQrW1l8W
 h+iALiwQwmFhEBK5QabVXeoJsHH+ADfv612Dx51NgFK68gGO6CWNtAnL+z8YUFuStGJ0XD
 jxeMTu+6hLb3AjfNHR6L/o2egPez5+qSn82kVmVgd60YOfC1+qfpTalkunG1+yddsnJwtM
 aVIaAKDmmLgMQSLYvWNlrBfbvxuA2+rZNxfHL7LRQMEbqfnqcihkSs9V28K8wDITmwl2GP
 FrIzFrCOG9RcYZvBSMmXC3QTp8AHS4XGzFMnRq7SRhEZJ6E2eGOmcDhaanIV2OZB2EQNo9
 5Qsxcv1cCunVecivOh6mFrgSo5OnjdDfRePNP7OM1Jnfql7w0APXiV+MOSkAIjQBVJF6ls
 ZBQJT+ZVeAaYoU0Y6iVW/Jwf0pPytfo6I+PwoLxuqcjV06+Z2aL8o5d/+bh8bpwM5MTedn
 ZvZ//Wei+IRrD4Z08oWqSJVVBlIXJUC9AAAAA2dpdAAAAAAAAAAGc2hhNTEyAAACFAAAAA
 xyc2Etc2hhMi01MTIAAAIARUkqgCnn01IwFgCGuFElckk8Elf/1tYoUWsBPiq2IMauwcZA
 S4H5pzUjKn8lYCRa3Glc5p/VLp+gJXc6P29eEt0ogCxKlE1rZWA+SD1rEP6FLBR1w3vWdR
 xp8v1LskKtwjZOHM2LvZ3XX0NkWAl5PrIlQKXYshkt5s2H8f1Q11h4/uec9KOowTJ/Rxw9
 CzEK/u5/D9fOdHrsyExo2iz9+84i43OYbAfNtXrF43KOWkBEi4J41VHMLimH+K6e8b/XQm
 LLeWL9TOtC8yvt+MwJd3DhhAX3c+PNIOhC4Sw3ZU438nPgr0gwzDCZDQW9R+yKE0w/el5N
 lqmk1uBG/Z+b4v6KGUbpUYi2DbjsmNdZaiLZjq80PavrUjubs2WfCaC0ienvkkJxFnCKlK
 DDi6bNc0wEhg9jkXrylWTk/cy6KGIXIfKfzRDr+saU+bmE2npGLIieqZWSxmKNTzO6ATP0
 Z3DyPwPAgRHOEuYNHrOgdB3yzPrAc4zbh9JLrpUY6y8lXK5Hl1TQRsgQ9PhXVdKyN7LCAD
 zZniDRrvhjtqWau7M7RQk2DTzV997V8jqshBs23nvUITIQPn+tH8EiSBIA5FikNCvaEL1a
 6QJ6a1T5ap/Q58R5Y/mt1z/ExVjI0WTUCXMmwsIMO8ix5I0r1bxDYdoWx6j+FH3jue1Oxl
 sXKwg=
 -----END SSH SIGNATURE-----

libstdc++: Fix __uninitialized_default for constexpr case [PR119754]

We should not use the std::fill optimization for trivial types during
constant evaluation, because we need to begin the lifetime of all
objects, even trivially default constructible ones.

This fixes a bug that Clang diagnosed:

include/c++/16.0.0/bits/stl_algobase.h:925:11: note: assignment to object outside its lifetime is not allowed in a constant expression
  925 |         *__first = __val;
      |         ~~~~~~~~~^~~~~~~

I initially just added the #ifdef __cpp_lib_is_constant_evaluated check,
but that gave warnings with GCC because the function isn't constexpr
until C++26. So then I tried checking __glibcxx_raw_memory_algorithms
for the value indicating constexpr uninitialized_value_construct, but
that macro depends on __cpp_constexpr >= 202406 and Clang 19 doesn't
support constexpr placement new, so doesn't define it.

So I decided to just change __uninitialized_default to use
_GLIBCXX20_CONSTEXPR which is consistent with __uninitialized_default_n
(which needs to be constexpr because it's used by std::vector). We don't
currently need to use __uninitialized_default in constexpr contexts for
C++20 code, but we might find uses for it, so now it would be possible.

libstdc++-v3/ChangeLog:

	PR libstdc++/119754
	* include/bits/stl_uninitialized.h (__uninitialized_default):
	Do not use optimized implementation for constexpr case. Use
	_GLIBCXX20_CONSTEXPR instead of _GLIBCXX26_CONSTEXPR.

(cherry picked from commit 82d2d12da93b5afbc3479e64d0aa0dcec5b42d8d)
