8sa1-gcc/libstdc++-v3
David Edelsohn fb39c4fe44 aix: make ctype_inline.h thread-safe and avoid _OBJ_DATA char subscript.
g++.dg/warn/Wstringop-overflow-6.C tests for a bogus overflow warning in
system headers.  This testcase was generating a -Wchar-subscript warning
on AIX because ctype_inline.h was subscripting AIX _OBJ_DATA using a char.
The _M_table case cast the subscript to unsigned char, but the _OBJ_DATA
case did not.

The investigation also exposed that AIX has added a thread-safe variant
of access to __lc_type that had not been applied to the libstdc++
implementation.

This patch casts the subscript to unsigned char and adds the THREAD_SAFE
variant.  libstdc++ always is compiled with pthreads, but it is good
to make the situation explicit and to document the appropriate usage.

Bootstrapped on powerpc-ibm-aix7.2.3.0.

libstdc++-v3/ChangeLog:

	* config/os/aix/ctype_inline.h (bool ctype<char>:: is): Cast
	_OBJ_DATA subscript to unsigned char. Add _THREAD_SAFE access to
	__lc_type.
	(const char* ctype<char>:: is): Same.
2021-01-20 17:42:02 -05:00
..
config aix: make ctype_inline.h thread-safe and avoid _OBJ_DATA char subscript. 2021-01-20 17:42:02 -05:00
doc libstdc++: Remove <debug/array> from Doxygen config 2021-01-13 10:29:45 +00:00
include libstdc++: Implement N3644 for _GLIBCXX_DEBUG iterators 2021-01-14 19:23:54 +01:00
libsupc++ Update copyright years. 2021-01-04 10:26:59 +01:00
po Update copyright years. 2021-01-04 10:26:59 +01:00
python Update copyright years. 2021-01-04 10:26:59 +01:00
scripts Update copyright years. 2021-01-04 10:26:59 +01:00
src libstd++: : Add workaround for as Error: file number less than one error [PR98708] 2021-01-18 11:29:26 +01:00
testsuite libstdc++: Only test writing to wostream if supported [PR 98725] 2021-01-18 14:23:13 +00:00
acinclude.m4
aclocal.m4
ChangeLog Daily bump. 2021-01-19 00:16:35 +00:00
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015
ChangeLog-2016 Update copyright years. 2017-01-01 13:07:43 +01:00
ChangeLog-2017
ChangeLog-2018
ChangeLog-2019
ChangeLog-2020 libstdc++: Fix typo in ChangeLog-2020 2021-01-13 11:02:13 +00:00
config.h.in
configure Update GNU/Hurd configure support 2021-01-05 16:04:14 -07:00
configure.ac
configure.host
crossconfig.m4
fragment.am
linkage.m4
Makefile.am Update copyright years. 2021-01-04 10:26:59 +01:00
Makefile.in
README

file: libstdc++-v3/README

New users may wish to point their web browsers to the file
index.html in the 'doc/html' subdirectory.  It contains brief
building instructions and notes on how to configure the library in
interesting ways.