diff options
author | Roland McGrath <mcgrathr@google.com> | 2023-09-05 12:28:31 -0700 |
---|---|---|
committer | Roland McGrath <mcgrathr@google.com> | 2023-09-06 17:20:20 -0700 |
commit | 5e9091dab8858b25210a91d22fbbbfdee9c969ad (patch) | |
tree | 26ae016fb8cfbaab56557b052ead63511cde47e2 /gold/output.cc | |
parent | 33a0b291058120c1294e90b53a5299c3ec62bad9 (diff) | |
download | gdb-5e9091dab8858b25210a91d22fbbbfdee9c969ad.zip gdb-5e9091dab8858b25210a91d22fbbbfdee9c969ad.tar.gz gdb-5e9091dab8858b25210a91d22fbbbfdee9c969ad.tar.bz2 |
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.
Diffstat (limited to 'gold/output.cc')
-rw-r--r-- | gold/output.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gold/output.cc b/gold/output.cc index a1978eb..6053e4d 100644 --- a/gold/output.cc +++ b/gold/output.cc @@ -29,6 +29,7 @@ #include <unistd.h> #include <sys/stat.h> #include <algorithm> +#include <uchar.h> #ifdef HAVE_SYS_MMAN_H #include <sys/mman.h> @@ -2706,10 +2707,10 @@ Output_section::add_merge_input_section(Relobj* object, unsigned int shndx, pomb = new Output_merge_string<char>(addralign); break; case 2: - pomb = new Output_merge_string<uint16_t>(addralign); + pomb = new Output_merge_string<char16_t>(addralign); break; case 4: - pomb = new Output_merge_string<uint32_t>(addralign); + pomb = new Output_merge_string<char32_t>(addralign); break; default: return false; |