gold: Use char16_t, char32_t instead of uint16_t, uint32_t as character types
authorRoland McGrath <mcgrathr@google.com>
Tue, 5 Sep 2023 19:28:31 +0000 (12:28 -0700)
committerRoland McGrath <mcgrathr@google.com>
Thu, 7 Sep 2023 00:20:20 +0000 (17:20 -0700)
commit5e9091dab8858b25210a91d22fbbbfdee9c969ad
tree26ae016fb8cfbaab56557b052ead63511cde47e2
parent33a0b291058120c1294e90b53a5299c3ec62bad9
gold: Use char16_t, char32_t instead of uint16_t, uint32_t as character types

The std::basic_string template type is only specified for
instantiations using character types.  Newer (LLVM) libc++
implementations no longer allow non-character integer types
to be used.

gold/
* output.cc: Include <uchar.h>.
(Output_section::add_merge_input_section): Use char16_t and
char32_t for 2- and 4-byte entry size, respectively.
* stringpool.cc: Include <uchar.h>.
(Stringpool_template): Explicitly instantiate for char16_t,
char32_t instead of uint16_t, uint32_t.
* merge.cc (Output_merge_string): Likewise.
gold/ChangeLog
gold/merge.cc
gold/output.cc
gold/stringpool.cc