@@ -688,7 +688,7 @@ locale::facet::__on_zero_shared() noexcept
688
688
689
689
// locale::id
690
690
691
- int32_t locale::id::__next_id = 0 ;
691
+ constinit int32_t locale::id::__next_id = 0 ;
692
692
693
693
namespace
694
694
{
@@ -836,7 +836,7 @@ const ctype_base::mask ctype_base::graph;
836
836
// template <> class ctype<wchar_t>;
837
837
838
838
#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
839
- locale::id ctype<wchar_t >::id;
839
+ constinit locale::id ctype<wchar_t >::id;
840
840
841
841
ctype<wchar_t >::~ctype ()
842
842
{
@@ -969,7 +969,7 @@ ctype<wchar_t>::do_narrow(const char_type* low, const char_type* high, char dfau
969
969
970
970
// template <> class ctype<char>;
971
971
972
- locale::id ctype<char >::id;
972
+ constinit locale::id ctype<char >::id;
973
973
974
974
const size_t ctype<char >::table_size;
975
975
@@ -1524,7 +1524,7 @@ ctype_byname<wchar_t>::do_narrow(const char_type* low, const char_type* high, ch
1524
1524
1525
1525
// template <> class codecvt<char, char, mbstate_t>
1526
1526
1527
- locale::id codecvt<char , char , mbstate_t >::id;
1527
+ constinit locale::id codecvt<char , char , mbstate_t >::id;
1528
1528
1529
1529
codecvt<char , char , mbstate_t >::~codecvt ()
1530
1530
{
@@ -1586,7 +1586,7 @@ codecvt<char, char, mbstate_t>::do_max_length() const noexcept
1586
1586
// template <> class codecvt<wchar_t, char, mbstate_t>
1587
1587
1588
1588
#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
1589
- locale::id codecvt<wchar_t , char , mbstate_t >::id;
1589
+ constinit locale::id codecvt<wchar_t , char , mbstate_t >::id;
1590
1590
1591
1591
codecvt<wchar_t , char , mbstate_t >::codecvt (size_t refs)
1592
1592
: locale::facet (refs),
@@ -3192,7 +3192,7 @@ _LIBCPP_SUPPRESS_DEPRECATED_POP
3192
3192
3193
3193
// template <> class codecvt<char16_t, char, mbstate_t>
3194
3194
3195
- locale::id codecvt<char16_t , char , mbstate_t >::id;
3195
+ constinit locale::id codecvt<char16_t , char , mbstate_t >::id;
3196
3196
3197
3197
codecvt<char16_t , char , mbstate_t >::~codecvt ()
3198
3198
{
@@ -3271,7 +3271,7 @@ codecvt<char16_t, char, mbstate_t>::do_max_length() const noexcept
3271
3271
3272
3272
// template <> class codecvt<char16_t, char8_t, mbstate_t>
3273
3273
3274
- locale::id codecvt<char16_t , char8_t , mbstate_t >::id;
3274
+ constinit locale::id codecvt<char16_t , char8_t , mbstate_t >::id;
3275
3275
3276
3276
codecvt<char16_t , char8_t , mbstate_t >::~codecvt ()
3277
3277
{
@@ -3350,7 +3350,7 @@ codecvt<char16_t, char8_t, mbstate_t>::do_max_length() const noexcept
3350
3350
3351
3351
// template <> class codecvt<char32_t, char, mbstate_t>
3352
3352
3353
- locale::id codecvt<char32_t , char , mbstate_t >::id;
3353
+ constinit locale::id codecvt<char32_t , char , mbstate_t >::id;
3354
3354
3355
3355
codecvt<char32_t , char , mbstate_t >::~codecvt ()
3356
3356
{
@@ -3429,7 +3429,7 @@ codecvt<char32_t, char, mbstate_t>::do_max_length() const noexcept
3429
3429
3430
3430
// template <> class codecvt<char32_t, char8_t, mbstate_t>
3431
3431
3432
- locale::id codecvt<char32_t , char8_t , mbstate_t >::id;
3432
+ constinit locale::id codecvt<char32_t , char8_t , mbstate_t >::id;
3433
3433
3434
3434
codecvt<char32_t , char8_t , mbstate_t >::~codecvt ()
3435
3435
{
@@ -4628,9 +4628,9 @@ static bool checked_string_to_char_convert(char& dest,
4628
4628
4629
4629
// numpunct<char> && numpunct<wchar_t>
4630
4630
4631
- locale::id numpunct< char >::id;
4631
+ constinit locale::id numpunct<char >::id;
4632
4632
#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
4633
- locale::id numpunct<wchar_t >::id;
4633
+ constinit locale::id numpunct<wchar_t >::id;
4634
4634
#endif
4635
4635
4636
4636
numpunct<char >::numpunct (size_t refs)
0 commit comments