aboutsummaryrefslogtreecommitdiff
path: root/gold/output.cc
diff options
context:
space:
mode:
authorRoland McGrath <mcgrathr@google.com>2023-09-05 12:28:31 -0700
committerRoland McGrath <mcgrathr@google.com>2023-09-06 17:20:20 -0700
commit5e9091dab8858b25210a91d22fbbbfdee9c969ad (patch)
tree26ae016fb8cfbaab56557b052ead63511cde47e2 /gold/output.cc
parent33a0b291058120c1294e90b53a5299c3ec62bad9 (diff)
downloadgdb-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.cc5
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;