llvm-capstone/libcxx/include
Louis Dionne c0cde79e9e [libc++] Remove C++03 extensions for std::allocator_arg & friends
As explained in the release note, libc++ used to provide various
global variables as an extension in C++03 mode. Unfortunately, that
made our definition non-conforming in all standard modes. This was
never a big problem until recently, since we are trying to support
C++20 Modules in libc++, and that requires cleaning up the definition
of these variables.

This change is the first in a series of changes to achieve our end goal.
This patch removes the ability for users to rely on the (incorrect)
definition of those global variables inside the shared library. The
plan is to then remove those definitions from the shared library
(which is an ABI break but I don't think it will have impact), and
finally to make our definition of those variables conforming in all
standard modes.

Differential Revision: https://reviews.llvm.org/D145422
2023-03-19 10:14:32 -04:00
..
__algorithm [libc++][NFC] Fix typo in comment 2023-03-17 11:57:34 -04:00
__atomic [libc++] Run clang-tidy in all configurations that are run in the Docker container 2023-02-28 19:14:58 +01:00
__bit [libc++][NFC] Replace _LIBCPP_STD_VER > x with _LIBCPP_STD_VER >= x 2023-02-15 16:52:25 +01:00
__charconv [NFC][libc++] Formats granularized charconv. 2023-03-16 18:56:30 +01:00
__chrono [libc++] Granularize <type_traits> includes 2023-03-08 22:05:04 +01:00
__compare [libc++] Remove _LIBCPP_CONSTEVAL 2023-03-10 09:04:48 -05:00
__concepts [libc++][NFC] Replace _LIBCPP_STD_VER > x with _LIBCPP_STD_VER >= x 2023-02-15 16:52:25 +01:00
__coroutine [libc++][NFC] Replace _LIBCPP_STD_VER > x with _LIBCPP_STD_VER >= x 2023-02-15 16:52:25 +01:00
__debug_utils [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
__exception [libc++] Add missing include in exception_ptr.h 2023-03-13 15:22:38 +01:00
__expected [libc++] Granularize <exception> includes 2023-03-19 10:28:32 +01:00
__filesystem [libc++] Use the _LIBCPP_VERBOSE_ABORT macro instead of calling the function directly 2023-03-18 00:34:28 +01:00
__format [libc++] Granularize <exception> includes 2023-03-19 10:28:32 +01:00
__functional [libc++] Granularize <exception> includes 2023-03-19 10:28:32 +01:00
__fwd [libc++][NFC] Replace _LIBCPP_STD_VER > x with _LIBCPP_STD_VER >= x 2023-02-15 16:52:25 +01:00
__ios [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
__iterator [libc++] Granularize <exception> 2023-03-12 22:19:41 +01:00
__memory [libc++] Remove C++03 extensions for std::allocator_arg & friends 2023-03-19 10:14:32 -04:00
__memory_resource [libc++][NFC] Replace _LIBCPP_STD_VER > x with _LIBCPP_STD_VER >= x 2023-02-15 16:52:25 +01:00
__numeric [libc++][NFC] Replace _LIBCPP_STD_VER > x with _LIBCPP_STD_VER >= x 2023-02-15 16:52:25 +01:00
__random [libc++] Granularize <type_traits> includes 2023-03-08 22:05:04 +01:00
__ranges [libc++] Granularize <exception> includes 2023-03-19 10:28:32 +01:00
__string [libc++] Forward to std::memcmp for trivially comparable types in equal 2023-02-21 17:11:21 +01:00
__support libcxx: Don't apply ABI tags to extern "C" fns 2023-01-25 07:35:33 +00:00
__thread [libc++][NFC] Remove unused includes from poll_with_backoff.h 2022-11-25 10:39:24 -05:00
__tuple_dir [libc++][NFC] Replace _LIBCPP_STD_VER > x with _LIBCPP_STD_VER >= x 2023-02-15 16:52:25 +01:00
__type_traits [libc++] Optimize std::ranges::{min, max} for types that are cheap to copy 2023-03-11 16:28:24 +01:00
__utility [libc++] Remove C++03 extensions for std::allocator_arg & friends 2023-03-19 10:14:32 -04:00
__variant [libc++][NFC] Replace _LIBCPP_STD_VER > x with _LIBCPP_STD_VER >= x 2023-02-15 16:52:25 +01:00
experimental [libc++] Remove C++03 extensions for std::allocator_arg & friends 2023-03-19 10:14:32 -04:00
ext [libc++] Granularize <type_traits> includes 2023-03-08 22:05:04 +01:00
__assert [libc++] Remove #error about _LIBCPP_DEBUG 2023-02-07 07:42:33 -08:00
__availability [libc++][NFC] Rename _LIBCPP_NO_EXCEPTIONS to _LIBCPP_HAS_NO_EXCEPTIONS 2023-02-17 17:39:03 +01:00
__bit_reference [libc++] Granularize <type_traits> includes 2023-03-08 22:05:04 +01:00
__bsd_locale_defaults.h [libc++][NFC] Fix include guards and add a missing license header 2022-03-23 13:14:19 -04:00
__bsd_locale_fallbacks.h [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
__config [libc++] Remove _LIBCPP_CONSTEVAL 2023-03-10 09:04:48 -05:00
__config_site.in [libc++] Introduce a setting to remove fstream from the library 2022-11-20 10:51:32 -05:00
__debug [libc++] Run clang-tidy in all configurations that are run in the Docker container 2023-02-28 19:14:58 +01:00
__errc [libc++] Normalize all our '#pragma GCC system_header', and regression-test. 2022-02-04 12:27:19 -05:00
__hash_table [libc++] Granularize <type_traits> includes 2023-03-08 22:05:04 +01:00
__locale [libc++] Add custom clang-tidy checks 2022-12-23 15:42:13 +01:00
__mbstate_t.h [libc++] Normalize all our '#pragma GCC system_header', and regression-test. 2022-02-04 12:27:19 -05:00
__mutex_base [libc++] Remove C++03 extensions for std::allocator_arg & friends 2023-03-19 10:14:32 -04:00
__node_handle [libc++][NFC] Replace _LIBCPP_STD_VER > x with _LIBCPP_STD_VER >= x 2023-02-15 16:52:25 +01:00
__split_buffer [libc++] Granularize <type_traits> includes 2023-03-08 22:05:04 +01:00
__std_stream [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
__threading_support [libc++] Enable radability-identifier-naming for local variables and fix any problems 2023-02-11 20:03:53 +01:00
__tree [libc++] Granularize <exception> 2023-03-12 22:19:41 +01:00
__undef_macros [libc++] Assume that push_macro and pop_macro are available 2022-05-23 20:47:44 +02:00
__verbose_abort [libc++] Use the _LIBCPP_VERBOSE_ABORT macro instead of calling the function directly 2023-03-18 00:34:28 +01:00
algorithm [libc++] Improves clang-format settings. 2023-02-27 19:24:06 +01:00
any [libc++] Use the _LIBCPP_VERBOSE_ABORT macro instead of calling the function directly 2023-03-18 00:34:28 +01:00
array [libc++] Granularize <type_traits> includes 2023-03-08 22:05:04 +01:00
atomic [libc++] Granularize <atomic> includes 2023-03-10 13:28:29 +01:00
barrier [libc++] Granularize <atomic> includes 2023-03-10 13:28:29 +01:00
bit [libc++] Granularize <bit> and remove <__bits> 2023-01-08 17:01:21 +01:00
bitset [libc++] Granularize <type_traits> includes 2023-03-08 22:05:04 +01:00
cassert [libc++] Add missing __has_include checks for C headers not provided by libc++ 2022-11-23 09:50:14 -05:00
ccomplex [libc++] Ensure that all public C++ headers include <__assert> 2022-03-30 15:05:31 -04:00
cctype [libc++] Diagnose when header search paths are set up incorrectly 2022-08-17 14:05:26 -04:00
cerrno [libc++] Diagnose when header search paths are set up incorrectly 2022-08-17 14:05:26 -04:00
cfenv [libc++] Diagnose when header search paths are set up incorrectly 2022-08-17 14:05:26 -04:00
cfloat [libc++] Diagnose when header search paths are set up incorrectly 2022-08-17 14:05:26 -04:00
charconv [libc++][charconv] Granularizes the header. 2023-03-15 18:01:53 +01:00
chrono [libc++] Move constexpr <cstring> functions into their own headers and remove unused <cstring> includes 2023-02-21 16:56:29 +01:00
cinttypes [libc++][NFC] Fix some standard-mandated includes comments 2022-09-27 21:11:53 +02:00
ciso646 [libc++] Ensure that all public C++ headers include <__assert> 2022-03-30 15:05:31 -04:00
climits [libc++] Diagnose when header search paths are set up incorrectly 2022-08-17 14:05:26 -04:00
clocale [libc++] Diagnose when header search paths are set up incorrectly 2022-08-17 14:05:26 -04:00
CMakeLists.txt [libc++][charconv] Granularizes the header. 2023-03-15 18:01:53 +01:00
cmath [libc++][NFC] Replace _LIBCPP_STD_VER > x with _LIBCPP_STD_VER >= x 2023-02-15 16:52:25 +01:00
codecvt [libc++] Split __allocator_destructor out of shared_ptr.h 2022-11-05 21:25:54 +01:00
compare [libc++] Granularize <type_traits> includes in <compare> 2022-12-23 02:58:06 +01:00
complex [libc++] Granularize <type_traits> includes 2023-03-08 22:05:04 +01:00
complex.h [libc++] Only include_next C library headers when they exist 2022-11-17 10:30:20 -05:00
concepts [libc++] Granularize <type_traits> includes in <concepts> 2022-12-20 21:37:39 +01:00
condition_variable [libc++] Remove C++03 extensions for std::allocator_arg & friends 2023-03-19 10:14:32 -04:00
coroutine [libc++] Granularize <type_traits> includes in <bit>, <numbers> and <coroutine> 2023-01-21 15:09:21 +01:00
csetjmp [libc++] Diagnose when header search paths are set up incorrectly 2022-08-17 14:05:26 -04:00
csignal [libc++] Add missing __has_include checks for C headers not provided by libc++ 2022-11-23 09:50:14 -05:00
cstdarg [libc++] Add missing __has_include checks for C headers not provided by libc++ 2022-11-23 09:50:14 -05:00
cstdbool [libc++] Ensure that all public C++ headers include <__assert> 2022-03-30 15:05:31 -04:00
cstddef [libc++][NFC] Replace _LIBCPP_STD_VER > x with _LIBCPP_STD_VER >= x 2023-02-15 16:52:25 +01:00
cstdint [libc++] Diagnose when header search paths are set up incorrectly 2022-08-17 14:05:26 -04:00
cstdio [libc++] Diagnose when header search paths are set up incorrectly 2022-08-17 14:05:26 -04:00
cstdlib [libc++][NFC] Replace _LIBCPP_STD_VER > x with _LIBCPP_STD_VER >= x 2023-02-15 16:52:25 +01:00
cstring [libc++] Move constexpr <cstring> functions into their own headers and remove unused <cstring> includes 2023-02-21 16:56:29 +01:00
ctgmath [libc++] Ensure that all public C++ headers include <__assert> 2022-03-30 15:05:31 -04:00
ctime [libc++][NFC] Replace _LIBCPP_STD_VER > x with _LIBCPP_STD_VER >= x 2023-02-15 16:52:25 +01:00
ctype.h [libc++] Only include_next C library headers when they exist 2022-11-17 10:30:20 -05:00
cuchar [libc++][cuchar] Declare std::c8rtomb and std::mbrtoc8 in <cuchar> if available. 2022-09-10 21:10:33 -04:00
cwchar [libc++] Refactor char_traits 2022-12-09 15:45:02 +01:00
cwctype [libc++] Diagnose when header search paths are set up incorrectly 2022-08-17 14:05:26 -04:00
deque [libc++] Granularize <exception> 2023-03-12 22:19:41 +01:00
errno.h [libc++] Only include_next C library headers when they exist 2022-11-17 10:30:20 -05:00
exception [libc++] Granularize <exception> 2023-03-12 22:19:41 +01:00
execution [libc++] Ensure that all public C++ headers include <__assert> 2022-03-30 15:05:31 -04:00
expected [libc++] Implement std::expected P0323R12 2022-12-14 15:43:42 +00:00
fenv.h [libc++] Only include_next C library headers when they exist 2022-11-17 10:30:20 -05:00
filesystem [libc++] Implement LWG3657 std::hash<filesystem::path> 2023-02-07 22:06:17 -08:00
float.h [libc++] Only include_next C library headers when they exist 2022-11-17 10:30:20 -05:00
format [libc++][format] Adds container adaptor formatters. 2023-01-19 17:50:16 +01:00
forward_list [libc++] Granularize <type_traits> includes 2023-03-08 22:05:04 +01:00
fstream [libc++] Move constexpr <cstring> functions into their own headers and remove unused <cstring> includes 2023-02-21 16:56:29 +01:00
functional [libc++] Granularize <exception> includes 2023-03-19 10:28:32 +01:00
future [libc++] Remove C++03 extensions for std::allocator_arg & friends 2023-03-19 10:14:32 -04:00
initializer_list [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
inttypes.h [libc++] Only include_next C library headers when they exist 2022-11-17 10:30:20 -05:00
iomanip [libc++] Add clang-tidy check for version checks 2023-03-08 15:17:25 +01:00
ios [libc++] Use the _LIBCPP_VERBOSE_ABORT macro instead of calling the function directly 2023-03-18 00:34:28 +01:00
iosfwd [libc++] Move preferred_name declarations into the forward declaring headers and add pmr preferred names 2022-11-01 00:36:54 +01:00
iostream [libc++][NFC] Fix some standard-mandated includes comments 2022-09-27 21:11:53 +02:00
istream [libc++] Granularize <exception> 2023-03-12 22:19:41 +01:00
iterator [libc++] implement move_iterator<T*> should be a random access iterator \n Differntial Revision- https://reviews.llvm.org/D135248 2023-03-01 23:47:00 +05:30
latch [libc++] Granularize <atomic> includes 2023-03-10 13:28:29 +01:00
libcxx.imp [libc++] Granularize <exception> 2023-03-12 22:19:41 +01:00
limits [libc++] Granularize <type_traits> includes in <utility> 2022-12-22 23:17:47 +01:00
limits.h [libc++] Don't workaround GCC issue on non-GCC compilers 2022-11-21 16:08:50 -05:00
list [libc++] Granularize <type_traits> includes 2023-03-08 22:05:04 +01:00
locale [libc++] Granularize <type_traits> includes 2023-03-08 22:05:04 +01:00
locale.h [libc++] Only include_next C library headers when they exist 2022-11-17 10:30:20 -05:00
map [libc++] Granularize <exception> includes 2023-03-19 10:28:32 +01:00
math.h [libc++] Add [[nodiscard]] extensions in <math.h> 2023-01-12 18:34:49 +01:00
memory [libc++] Granularize <atomic> includes 2023-03-10 13:28:29 +01:00
memory_resource [libc++] Add the C++17 <memory_resource> header (mono-patch) 2022-10-11 08:40:46 -04:00
module.modulemap.in [libc++][charconv] Granularizes the header. 2023-03-15 18:01:53 +01:00
mutex [libc++] Remove C++03 extensions for std::allocator_arg & friends 2023-03-19 10:14:32 -04:00
new [libc++] Granularize <exception> includes 2023-03-19 10:28:32 +01:00
numbers [libc++][NFC] Replace _LIBCPP_STD_VER > x with _LIBCPP_STD_VER >= x 2023-02-15 16:52:25 +01:00
numeric [libc++] Granularize <type_traits> includes in <bit>, <numbers> and <coroutine> 2023-01-21 15:09:21 +01:00
optional [libc++] Use the _LIBCPP_VERBOSE_ABORT macro instead of calling the function directly 2023-03-18 00:34:28 +01:00
ostream [libc++] Granularize <exception> includes 2023-03-19 10:28:32 +01:00
queue [libc++] Granularize <type_traits> includes 2023-03-08 22:05:04 +01:00
random [libc++] Use numeric_limits instead of raw INT_MAX 2022-11-18 11:32:14 -05:00
ranges [libc++] Granularize <type_traits> includes 2023-03-08 22:05:04 +01:00
ratio [libc++][NFC] Replace _LIBCPP_STD_VER > x with _LIBCPP_STD_VER >= x 2023-02-15 16:52:25 +01:00
regex [libc++] Use the _LIBCPP_VERBOSE_ABORT macro instead of calling the function directly 2023-03-18 00:34:28 +01:00
scoped_allocator [libc++][NFC] Replace _LIBCPP_STD_VER > x with _LIBCPP_STD_VER >= x 2023-02-15 16:52:25 +01:00
semaphore [libc++] Granularize <atomic> includes 2023-03-10 13:28:29 +01:00
set [libc++] Granularize <type_traits> includes 2023-03-08 22:05:04 +01:00
setjmp.h [libc++] Only include_next C library headers when they exist 2022-11-17 10:30:20 -05:00
shared_mutex [libc++][NFC] Replace _LIBCPP_STD_VER > x with _LIBCPP_STD_VER >= x 2023-02-15 16:52:25 +01:00
source_location [Libcxx] Add <source_location> header. 2023-01-11 16:01:30 -05:00
span [libc++] Granularize <exception> 2023-03-12 22:19:41 +01:00
sstream [libc++][NFC] Rename _LIBCPP_NO_EXCEPTIONS to _LIBCPP_HAS_NO_EXCEPTIONS 2023-02-17 17:39:03 +01:00
stack [libc++] Granularize <type_traits> includes 2023-03-08 22:05:04 +01:00
stdatomic.h [libc++][NFC] Replace _LIBCPP_STD_VER > x with _LIBCPP_STD_VER >= x 2023-02-15 16:52:25 +01:00
stdbool.h [libc++][NFC] Consistently use newline between license and include guard 2022-11-25 10:25:17 -05:00
stddef.h Revert "[libc++] Remove workarounds for systems that used to require __need_XXX macros" 2022-11-22 20:46:38 +09:00
stdexcept [libc++] Granularize <exception> includes 2023-03-19 10:28:32 +01:00
stdint.h [libc++] Only include_next C library headers when they exist 2022-11-17 10:30:20 -05:00
stdio.h Revert "[libc++] Remove workarounds for systems that used to require __need_XXX macros" 2022-11-22 20:46:38 +09:00
stdlib.h [libc++] Add [[nodiscard]] extensions in <math.h> 2023-01-12 18:34:49 +01:00
streambuf [libc++][NFC] Add missing conditionals for the existence of wide characters 2022-11-21 18:00:53 -05:00
string [libc++][NFC] Refactor the __enable_ifs in <string> 2023-03-19 10:26:34 +01:00
string_view [libc++] Granularize <exception> 2023-03-12 22:19:41 +01:00
string.h [libc++] Use builtins when redeclaring <string.h> functions 2022-11-25 09:22:09 -05:00
strstream [libc++][NFC] Enable modernize-use-override 2022-08-25 20:55:08 +02:00
system_error [libc++] Granularize <type_traits> includes 2023-03-08 22:05:04 +01:00
tgmath.h [libc++] Only include_next C library headers when they exist 2022-11-17 10:30:20 -05:00
thread [libc++] Granularize <exception> includes 2023-03-19 10:28:32 +01:00
tuple [libc++][NFC] Replace _LIBCPP_STD_VER > x with _LIBCPP_STD_VER >= x 2023-02-15 16:52:25 +01:00
type_traits [libc++] Implement P1413R3 (Deprecate std::aligned_storage and std::aligned_union) 2023-01-21 15:08:27 +01:00
typeindex [libc++][NFC] Replace _LIBCPP_STD_VER > x with _LIBCPP_STD_VER >= x 2023-02-15 16:52:25 +01:00
typeinfo [libc++] Granularize <exception> includes 2023-03-19 10:28:32 +01:00
uchar.h [libc++][cuchar] Declare std::c8rtomb and std::mbrtoc8 in <cuchar> if available. 2022-09-10 21:10:33 -04:00
unordered_map [libc++] Granularize <type_traits> includes 2023-03-08 22:05:04 +01:00
unordered_set [libc++] Granularize <type_traits> includes 2023-03-08 22:05:04 +01:00
utility [libc++][ranges] Implement LWG-3865 Sorting a range of pairs 2023-03-10 09:01:52 +07:00
valarray [libc++] Granularize <exception> 2023-03-12 22:19:41 +01:00
variant [libc++] Granularize <exception> includes 2023-03-19 10:28:32 +01:00
vector [libc++] Granularize <exception> 2023-03-12 22:19:41 +01:00
version [libc++] implement move_iterator<T*> should be a random access iterator \n Differntial Revision- https://reviews.llvm.org/D135248 2023-03-01 23:47:00 +05:30
wchar.h Revert "[libc++] Remove workarounds for systems that used to require __need_XXX macros" 2022-11-22 20:46:38 +09:00
wctype.h [libc++] Normalize all our '#pragma GCC system_header', and regression-test. 2022-02-04 12:27:19 -05:00