llvm-project/libcxx/include
Dan Albert cbf1904a3e Upstream Bionic definitions of ctype_base/regex.
Summary:
This is a patch that Android has been carrying in its tree for several
years. This patch upstreams the existing ABI.

There's some historical cruft here. __regex_word used to be a part of
regex_traits rather than ctype_base. Bionic also used to use its own
ctype implementation because the libc++ builtin one wasn't available
yet. Bionic's ctype masks were 8 bits wide and already saturated, so a
wider type needed to be used for the regex mask, and the existing
value was already used so Android needed to specify its own.

Since then Android has migrated to the builtin ctype implementation
and this patch probably should have been dropped then. Unfortunately
that was not noticed at the time, so now we need to keep this to
maintain the current ABI.

Reviewers: EricWF, #libc, ldionne

Reviewed By: #libc, ldionne

Subscribers: dexonsmith, ldionne, libcxx-commits

Tags: #libc

Differential Revision: https://reviews.llvm.org/D76171
2020-04-06 13:38:16 -07:00
..
experimental [NFC] Strip trailing whitespace from libc++ 2019-10-23 11:19:19 -07:00
ext [libc++] Cleanup and enable multiple warnings. 2019-12-12 21:09:08 -05:00
support [libcxx] [Windows] Store the lconv struct returned from localeconv in locale_t 2020-01-29 22:37:11 +02:00
CMakeLists.txt Remove legacy CMake targets for libcxx and libcxxabi 2020-03-30 09:45:21 -04:00
__bit_reference [libc++] Fix ABI break in __bit_reference. 2020-02-19 12:02:06 -05:00
__bsd_locale_defaults.h Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
__bsd_locale_fallbacks.h Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
__config Add flag _LIBCPP_ABI_STRING_OPTIMIZED_EXTERNAL_INSTANTIATIONS for basic_string ABI 2020-03-02 10:26:37 -05:00
__config_site.in [libc++] Take 2: Integrate the PSTL into libc++ 2019-08-05 18:29:14 +00:00
__debug [libc++][NFC] Remove excess trailing newlines from most files 2019-10-23 08:08:57 -07:00
__errc Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
__functional_03 [libc++] Properly mark std::function as deprecated in C++03 2020-03-10 17:45:39 -04:00
__functional_base [libc++] Fix unintended ADL inside ref(reference_wrapper<T>) and cref(reference_wrapper<T>) 2020-02-20 12:22:21 -05:00
__functional_base_03 Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
__hash_table [libc++] Rework compressed pair constructors. 2019-12-16 18:38:58 -05:00
__libcpp_version Bump the trunk major version to 11 2020-01-15 13:38:01 +01:00
__locale Upstream Bionic definitions of ctype_base/regex. 2020-04-06 13:38:16 -07:00
__mutex_base [libc++] Ensure __config always defines certain configuration macros. 2019-12-13 15:42:07 -05:00
__node_handle Avoid name conflict with kernel headers 2019-04-24 09:43:44 +00:00
__nullptr Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
__split_buffer [libc++] Rework compressed pair constructors. 2019-12-16 18:38:58 -05:00
__sso_allocator Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
__std_stream Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
__string Partially inline basic_string copy constructor in UNSTABLE 2020-03-04 17:52:46 -05:00
__threading_support Some fixes for open breaks on MacOS and UBSan 2020-02-26 20:51:19 -08:00
__tree [libc++] Rework compressed pair constructors. 2019-12-16 18:38:58 -05:00
__tuple Refactor default constructor SFINAE in pair and tuple. 2019-09-30 20:55:30 +00:00
__undef_macros Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
algorithm Rename __is_foo_iterator traits to reflect their Cpp17 nature. 2019-11-18 01:49:32 -05:00
any [NFC][libc++] Remove stray semi-colon after function definition 2019-06-19 16:33:28 +00:00
array Reland [libc++] [P0325] Implement to_array from LFTS with updates. 2020-01-31 11:47:18 +01:00
atomic [libc++] Fix CI and Linux failures after landing D68480 2020-02-24 11:58:25 -05:00
barrier [libc++] Proper fix for libc++'s modulemap after D68480 2020-02-25 11:31:10 -05:00
bit [NFC] Strip trailing whitespace from libc++ 2019-10-23 11:19:19 -07:00
bitset Ensure bitset's string constructor doesn't poison the overload set. 2019-07-01 19:59:34 +00:00
cassert Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
ccomplex Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
cctype Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
cerrno Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
cfenv Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
cfloat Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
charconv [libc++] Add availability markup for std::to_chars on Apple platforms 2020-02-17 09:32:46 -05:00
chrono [libc++] [chrono] Fix year_month_weekday::ok() implementation. 2019-11-15 18:48:45 +01:00
cinttypes Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ciso646 Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
climits Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
clocale Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
cmath [libc++] Harden usage of static_assert against C++03 2019-10-01 12:12:21 +00:00
codecvt Fix -Wdeprecated-copy-dtor and -Wdeprecated-dynamic-exception-spec warnings. 2020-03-17 18:59:54 +01:00
compare Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
complex [libc++] reduce <complex> parsing time 2020-02-19 16:09:41 -05:00
complex.h Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
condition_variable Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
csetjmp Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
csignal Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
cstdarg Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
cstdbool Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
cstddef Avoid using std::max_align_t in pre-C++11 mode 2020-04-04 01:38:41 +02:00
cstdint Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
cstdio Remove ::gets for FreeBSD 13 and later 2019-09-07 22:18:20 +00:00
cstdlib Fix _LIBCPP_HAS_ definitions for Android. 2019-11-18 12:19:58 -08:00
cstring Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ctgmath Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
ctime Fix _LIBCPP_HAS_ definitions for Android. 2019-11-18 12:19:58 -08:00
ctype.h Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
cwchar Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
cwctype Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
deque [libc++] Rework compressed pair constructors. 2019-12-16 18:38:58 -05:00
errno.h Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
exception Fix -Wdeprecated-copy-dtor and -Wdeprecated-dynamic-exception-spec warnings. 2020-03-17 18:59:54 +01:00
execution [pstl][libc++] Provide uglified header names for interface headers 2019-08-06 21:11:24 +00:00
fenv.h Mark fenv.h as a system header before the #include_next directive 2019-03-29 16:03:57 +00:00
filesystem Fix -Wdeprecated-copy-dtor and -Wdeprecated-dynamic-exception-spec warnings. 2020-03-17 18:59:54 +01:00
float.h Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
forward_list [libc++] Rework compressed pair constructors. 2019-12-16 18:38:58 -05:00
fstream Open fstream files in O_CLOEXEC mode when possible. 2019-09-16 19:26:41 +00:00
functional [libc++] Add missing visibility annotation for __base 2020-03-18 17:16:00 -04:00
future Fix -Wdeprecated-copy-dtor and -Wdeprecated-dynamic-exception-spec warnings. 2020-03-17 18:59:54 +01:00
initializer_list [NFC][libcxx] Remove trailing whitespace 2019-05-29 16:01:36 +00:00
inttypes.h AIX system headers need stdint.h and inttypes.h to be re-enterable 2019-06-20 15:36:32 +00:00
iomanip [NFC][libcxx] Remove trailing whitespace 2019-05-29 16:01:36 +00:00
ios Fix -Wdeprecated-copy-dtor and -Wdeprecated-dynamic-exception-spec warnings. 2020-03-17 18:59:54 +01:00
iosfwd Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
iostream Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
istream [libc++] Implement LWG 3199 2019-08-20 18:21:06 +00:00
iterator Rename __is_foo_iterator traits to reflect their Cpp17 nature. 2019-11-18 01:49:32 -05:00
latch [libc++] Proper fix for libc++'s modulemap after D68480 2020-02-25 11:31:10 -05:00
limits Fix -Wdouble-promotion warnings. 2019-07-01 16:13:31 +00:00
limits.h Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
list [libc++] Rework compressed pair constructors. 2019-12-16 18:38:58 -05:00
locale [NFC][libcxx] Remove trailing whitespace 2019-05-29 16:01:36 +00:00
locale.h Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
map [libc++] Use _EnableIf instead of std::enable_if in deduction guides for map and set 2019-07-19 17:13:39 +00:00
math.h Revert "[libc++] Move abs and div into stdlib.h to fix header cycle." 2020-02-17 17:59:08 +01:00
memory Fix -Wdeprecated-copy-dtor and -Wdeprecated-dynamic-exception-spec warnings. 2020-03-17 18:59:54 +01:00
module.modulemap [libc++] Give headers that require C++14 a cplusplus14 requires in the modulemap 2020-02-24 20:20:55 +01:00
mutex [libc++] Mark __call_once_proxy as hidden and internal 2019-11-11 10:27:48 -05:00
new [libc++] Revert 03dd205c15 "Adjust max_align_t handling" 2020-02-25 11:42:08 -05:00
numeric [libc++] Fix typo in std::midpoint 2019-12-21 01:26:24 -08:00
optional Add a missing '__uncvref_t' to the SFINAE constraints for optional's assignment operator. Fixes PR38638. Thanks to Jonathan Wakely for the report 2019-06-27 18:40:55 +00:00
ostream Add forward declaration of operator<< in <string_view> as required. 2019-09-25 18:56:54 +00:00
queue Rename __is_foo_iterator traits to reflect their Cpp17 nature. 2019-11-18 01:49:32 -05:00
random [libc++] Bugfix to std::binomial_distribution<int> 2020-03-17 15:56:16 -04:00
ratio Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
regex Upstream Bionic definitions of ctype_base/regex. 2020-04-06 13:38:16 -07:00
scoped_allocator Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
semaphore Some fixes for open breaks on MacOS and UBSan 2020-02-26 20:51:19 -08:00
set [libc++] Use _EnableIf instead of std::enable_if in deduction guides for map and set 2019-07-19 17:13:39 +00:00
setjmp.h Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
shared_mutex Revert "Suppress -Wctad-maybe-unsupported on types w/o deduction guides." 2019-08-04 07:13:43 +00:00
span [libc++] span: Fix incorrect static asserts 2020-02-14 14:32:41 +01:00
sstream add a test and a couple minor bug fixes for the implicit-signed-integer-truncation sanitizer. This is PR#40566 2019-02-01 21:59:27 +00:00
stack [NFC][libcxx] Remove trailing whitespace 2019-05-29 16:01:36 +00:00
stdbool.h Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
stddef.h Avoid using std::max_align_t in pre-C++11 mode 2020-04-04 01:38:41 +02:00
stdexcept Fix -Wdeprecated-copy-dtor and -Wdeprecated-dynamic-exception-spec warnings. 2020-03-17 18:59:54 +01:00
stdint.h AIX system headers need stdint.h and inttypes.h to be re-enterable 2019-06-20 15:36:32 +00:00
stdio.h Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
stdlib.h Revert "[libc++] Move abs and div into stdlib.h to fix header cycle." 2020-02-17 17:59:08 +01:00
streambuf Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
string Partially inline basic_string copy constructor in UNSTABLE 2020-03-04 17:52:46 -05:00
string.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
string_view Add forward declaration of operator<< in <string_view> as required. 2019-09-25 18:56:54 +00:00
strstream Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
system_error Fix -Wdeprecated-copy-dtor and -Wdeprecated-dynamic-exception-spec warnings. 2020-03-17 18:59:54 +01:00
tgmath.h Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
thread [libc++] Hide some functions and types in <future> and <thread> as hidden 2019-12-10 19:19:45 -05:00
tuple PR43764: Qualify a couple of calls to forward_as_tuple to be ADL-resilient. 2019-10-28 18:04:41 -07:00
type_traits [libc++] Fix is_pointer support for Objective-C++ 2020-04-03 11:09:59 -04:00
typeindex Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
typeinfo Fix -Wdeprecated-copy-dtor and -Wdeprecated-dynamic-exception-spec warnings. 2020-03-17 18:59:54 +01:00
unordered_map Add contains method to associative containers. This patch implements P0458R2, adding contains to map, multimap, unordered_map, unordered_multimap, set, multiset, unordered_set, and unordered_multiset. 2019-07-16 03:21:01 +00:00
unordered_set Add contains method to associative containers. This patch implements P0458R2, adding contains to map, multimap, unordered_map, unordered_multimap, set, multiset, unordered_set, and unordered_multiset. 2019-07-16 03:21:01 +00:00
utility Refactor default constructor SFINAE in pair and tuple. 2019-09-30 20:55:30 +00:00
valarray [libc++] Cleanup and enable multiple warnings. 2019-12-12 21:09:08 -05:00
variant Improve compile time of variant. 2019-07-14 21:29:39 +00:00
vector [libcxx] Qualify make_move_iterator in vector::insert for input iterators 2020-02-11 11:00:45 +01:00
version [libc++] [P0646] Add feature-test macro for __cpp_lib_list_remove_return_type. 2020-03-12 11:06:49 +01:00
wchar.h Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
wctype.h Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00