diff options
author | Jason Merrill <jason@redhat.com> | 2020-10-29 16:50:57 -0400 |
---|---|---|
committer | Jason Merrill <jason@redhat.com> | 2020-11-03 17:15:30 -0500 |
commit | e7144372e06bf446d1bfb529806a803467ba697a (patch) | |
tree | 0b52c7ad96e460585ceec29d73331743803396d8 /gcc/symtab-clones.cc | |
parent | e1276e334298251d73303999d2adc688abbfc856 (diff) | |
download | gcc-e7144372e06bf446d1bfb529806a803467ba697a.zip gcc-e7144372e06bf446d1bfb529806a803467ba697a.tar.gz gcc-e7144372e06bf446d1bfb529806a803467ba697a.tar.bz2 |
c++: Not all character types are byte-access types.
The patch for 94923 that introduced is_byte_access_type wrongly changed
build_cplus_array_type to treat even arrays of char16_t as typeless storage,
which is wrong; only arrays of char and unsigned char have the special alias
semantics in C++.
G++ used to treat signed char the same way, as C does, but C++ has always
omitted it.
gcc/cp/ChangeLog:
* tree.c (is_byte_access_type): Don't use char_type_p.
gcc/testsuite/ChangeLog:
* g++.dg/Wclass-memaccess.C: Check that signed char and
char16_t aren't treated as byte-access types.
Diffstat (limited to 'gcc/symtab-clones.cc')
0 files changed, 0 insertions, 0 deletions