llvm-capstone/libcxx/include
Louis Dionne bb9ca6d0bf [libcxx] Implement P0318: unwrap_ref_decay and unwrap_reference
Summary:
This was voted into C++20 in San Diego. Note that there was a revision
D0318R2 which did include unwrap_reference_t, but we mistakingly voted
P0318R1 into the C++20 Working Draft (which does not include
unwrap_reference_t). This patch implements D0318R2, which is what
we'll end up with in the Working Draft once this mistake has been
fixed.

Reviewers: EricWF, mclow.lists

Subscribers: christof, dexonsmith, libcxx-commits

Differential Revision: https://reviews.llvm.org/D54485

llvm-svn: 348138
2018-12-03 14:03:27 +00:00
..
experimental Revert "Move internal usages of alignof/__alignof to use _LIBCPP_ALIGNOF. " 2018-11-28 22:24:19 +00:00
ext
support Fix Shadowing warning on Windows 2018-10-01 02:54:08 +00:00
__bit_reference Refactor the newly created <bit> header. Still (almost) NFC. Reviewed as https://reviews.llvm.org/D50876 2018-08-17 17:27:25 +00:00
__bsd_locale_defaults.h Add system header pragma to BSD locale fallback headers. 2017-08-03 02:50:43 +00:00
__bsd_locale_fallbacks.h [libc++] Take 2: Replace uses of _LIBCPP_ALWAYS_INLINE by _LIBCPP_INLINE_VISIBILITY 2018-07-11 23:14:33 +00:00
__config [libcxx] Remove bad_array_length 2018-11-29 19:44:57 +00:00
__config_site.in Make libc++'s versioning namespace customizable 2018-10-30 21:44:53 +00:00
__debug [libc++] Make sure we can build libc++ with -fvisibility=hidden 2018-10-25 12:13:43 +00:00
__errc [libc++] Lift std::errc into a separated header 2018-07-03 03:25:10 +00:00
__functional_03 [libcxx] func.wrap.func.con: Unset function before destroying anything 2018-04-25 23:38:41 +00:00
__functional_base [libc++] Make sure we can build libc++ with -fvisibility=hidden 2018-10-25 12:13:43 +00:00
__functional_base_03
__hash_table Second half of C++17's splicing maps and sets 2018-10-31 17:31:35 +00:00
__libcpp_version Update version to 8.0.0svn: cmake, includes files and docs 2018-08-01 13:54:28 +00:00
__locale [libc++] Make sure we can build libc++ with -fvisibility=hidden 2018-10-25 12:13:43 +00:00
__mutex_base [libc++] Make sure we can build libc++ with -fvisibility=hidden 2018-10-25 12:13:43 +00:00
__node_handle Second half of C++17's splicing maps and sets 2018-10-31 17:31:35 +00:00
__nullptr [libc++] Take 2: Replace uses of _LIBCPP_ALWAYS_INLINE by _LIBCPP_INLINE_VISIBILITY 2018-07-11 23:14:33 +00:00
__split_buffer [Libc++] Use #pragma push_macro/pop_macro to better handle min/max on Windows 2017-05-31 22:07:49 +00:00
__sso_allocator Revert "Move internal usages of alignof/__alignof to use _LIBCPP_ALIGNOF. " 2018-11-28 22:24:19 +00:00
__std_stream [Libc++] Use #pragma push_macro/pop_macro to better handle min/max on Windows 2017-05-31 22:07:49 +00:00
__string Fix misleading indentation; replace a couple of NULLs with nullptr. Resolves https://reviews.llvm.org/D42945 ; thanks to Bruce Mitchener for the patch. 2018-02-06 18:58:05 +00:00
__threading_support Fix typo 2018-09-17 07:40:42 +00:00
__tree Second half of C++17's splicing maps and sets 2018-10-31 17:31:35 +00:00
__tuple
__undef_macros [Libc++] Use #pragma push_macro/pop_macro to better handle min/max on Windows 2017-05-31 22:07:49 +00:00
algorithm [libcxx] Make sure we can build with -fvisibility=hidden on Linux 2018-11-21 16:24:46 +00:00
any [libcxx] Add availability markup for bad_optional_access, bad_variant_access and bad_any_cast 2018-11-19 15:37:04 +00:00
array Implement the infrastructure for feature-test macros. Very few actual feature test macros, though. Reviewed as: https://reviews.llvm.org/D51955 2018-09-12 19:41:40 +00:00
atomic Implement the infrastructure for feature-test macros. Very few actual feature test macros, though. Reviewed as: https://reviews.llvm.org/D51955 2018-09-12 19:41:40 +00:00
bit Implement the infrastructure for feature-test macros. Very few actual feature test macros, though. Reviewed as: https://reviews.llvm.org/D51955 2018-09-12 19:41:40 +00:00
bitset [NFC][libc++] Consistently use spaces to indent 2018-08-03 22:36:53 +00:00
cassert
ccomplex
cctype
cerrno
cfenv
cfloat Test for the presence of a bunch of new macros for c++17. These macros come from C11. Part of P0063 2018-07-31 23:29:06 +00:00
charconv Run the min/max tests agaist the header <charconv>. Fix that header so it passes. NFC. 2018-10-26 01:00:56 +00:00
chrono Implement P0972R0: <chrono> zero(), min(), and max() should be noexcept. Reviewed as https://reviews.llvm.org/D53828 2018-11-13 17:22:41 +00:00
cinttypes
ciso646
climits
clocale
CMakeLists.txt [libcxx] Remove dynarray 2018-11-28 18:02:00 +00:00
cmath Implement the infrastructure for feature-test macros. Very few actual feature test macros, though. Reviewed as: https://reviews.llvm.org/D51955 2018-09-12 19:41:40 +00:00
codecvt [libc++] Take 2: Replace uses of _LIBCPP_ALWAYS_INLINE by _LIBCPP_INLINE_VISIBILITY 2018-07-11 23:14:33 +00:00
compare [libc++] Declare <compare> operators with the proper visibility attribute 2018-07-10 13:21:03 +00:00
complex Implement the infrastructure for feature-test macros. Very few actual feature test macros, though. Reviewed as: https://reviews.llvm.org/D51955 2018-09-12 19:41:40 +00:00
complex.h
condition_variable
csetjmp
csignal
cstdarg
cstdbool
cstddef Implement the infrastructure for feature-test macros. Very few actual feature test macros, though. Reviewed as: https://reviews.llvm.org/D51955 2018-09-12 19:41:40 +00:00
cstdint
cstdio
cstdlib Selectively import timespec_get into namespace std, since some C libraries don't have it. Reviewed as https://reviews.llvm.org/D50799 2018-08-15 21:19:08 +00:00
cstring
ctgmath
ctime Selectively import timespec_get into namespace std, since some C libraries don't have it. Reviewed as https://reviews.llvm.org/D50799 2018-08-15 21:19:08 +00:00
ctype.h
cwchar
cwctype
deque Implement the infrastructure for feature-test macros. Very few actual feature test macros, though. Reviewed as: https://reviews.llvm.org/D51955 2018-09-12 19:41:40 +00:00
errno.h
exception [libcxx] Mark stray symbols as hidden to try and fix the build 2018-11-21 17:00:52 +00:00
filesystem Fix even more Clang warnings. 2018-10-01 01:59:37 +00:00
float.h Test for the presence of a bunch of new macros for c++17. These macros come from C11. Part of P0063 2018-07-31 23:29:06 +00:00
forward_list Implement the infrastructure for feature-test macros. Very few actual feature test macros, though. Reviewed as: https://reviews.llvm.org/D51955 2018-09-12 19:41:40 +00:00
fstream Implement <filesystem> 2018-07-27 03:07:09 +00:00
functional [libcxx] Implement P0318: unwrap_ref_decay and unwrap_reference 2018-12-03 14:03:27 +00:00
future [libc++] Remove race condition in std::async 2018-08-24 14:00:59 +00:00
initializer_list [libc++] Take 2: Replace uses of _LIBCPP_ALWAYS_INLINE by _LIBCPP_INLINE_VISIBILITY 2018-07-11 23:14:33 +00:00
inttypes.h
iomanip Implement the infrastructure for feature-test macros. Very few actual feature test macros, though. Reviewed as: https://reviews.llvm.org/D51955 2018-09-12 19:41:40 +00:00
ios [libc++] Take 2: Replace uses of _LIBCPP_ALWAYS_INLINE by _LIBCPP_INLINE_VISIBILITY 2018-07-11 23:14:33 +00:00
iosfwd
iostream
istream [libc++] Implement P0487R1 - Fixing operator>>(basic_istream&, CharT*) 2018-11-21 03:30:10 +00:00
iterator Fix PR39619 - iterator_traits isn't SFINAE-friendly enough. Thanks to Eric for the report 2018-11-13 05:33:31 +00:00
limits First part of P0482 - Establish that char8_t is an integral type, and that numeric_limits<char8_t> is valid and sane. (second try) 2018-11-29 23:21:18 +00:00
limits.h
list [NFC] Fix incorrect comment in std::list 2018-11-03 17:51:09 +00:00
locale [libcxx] Make sure we can build with -fvisibility=hidden on Linux 2018-11-21 16:24:46 +00:00
locale.h
map [libcxx] Fix usage of _C2, which is a "nasty macro" in some environments 2018-11-01 14:41:37 +00:00
math.h [libc++] Take 2: Replace uses of _LIBCPP_ALWAYS_INLINE by _LIBCPP_INLINE_VISIBILITY 2018-07-11 23:14:33 +00:00
memory Revert "Move internal usages of alignof/__alignof to use _LIBCPP_ALIGNOF. " 2018-11-28 22:24:19 +00:00
module.modulemap [libcxx] Remove dynarray 2018-11-28 18:02:00 +00:00
mutex Annotate scoped_lock as with scoped_lockable attribute 2018-10-09 23:42:29 +00:00
new [libcxx] Remove bad_array_length 2018-11-29 19:44:57 +00:00
numeric Implement the infrastructure for feature-test macros. Very few actual feature test macros, though. Reviewed as: https://reviews.llvm.org/D51955 2018-09-12 19:41:40 +00:00
optional [libcxx] Add availability markup for bad_optional_access, bad_variant_access and bad_any_cast 2018-11-19 15:37:04 +00:00
ostream [libcxx] Remove _LIBCPP_EXTERN_TEMPLATE_INLINE_VISIBILITY 2018-10-16 19:26:23 +00:00
queue Deduction guides for the container adaptors - queue, stack, and priority_queue 2018-05-22 01:57:53 +00:00
random [libc++] Use correct rand.eng.mers all-zeroes seed sequence fallback 2018-08-16 23:56:54 +00:00
ratio Implement most of P0607: Inline Variables for the Standard Library. This involved marking a lot of variables as inline (but only for C++17 and later). 2018-01-02 17:17:01 +00:00
regex Fix even more Clang warnings. 2018-10-01 01:59:37 +00:00
scoped_allocator Implement the infrastructure for feature-test macros. Very few actual feature test macros, though. Reviewed as: https://reviews.llvm.org/D51955 2018-09-12 19:41:40 +00:00
set [libcxx] Fix usage of _C2, which is a "nasty macro" in some environments 2018-11-01 14:41:37 +00:00
setjmp.h
shared_mutex [libcxx] Provide thread annotations for shared_mutex 2018-11-09 23:32:25 +00:00
span Implement P1085R2 - Should Span be Regular?. This consists entirely of deletions 2018-11-27 16:35:41 +00:00
sstream [NFC][libc++] Consistently use spaces to indent 2018-08-03 22:36:53 +00:00
stack Deduction guides for the container adaptors - queue, stack, and priority_queue 2018-05-22 01:57:53 +00:00
stdbool.h
stddef.h Teach libc++ to use native NetBSD's max_align_t 2018-08-20 22:29:20 +00:00
stdexcept [NFC][libc++] Consistently use spaces to indent 2018-08-03 22:36:53 +00:00
stdint.h
stdio.h libcxx: Rename vasprintf function to __libcpp_vasprintf. 2018-01-23 18:53:33 +00:00
stdlib.h
streambuf [libcxx] Remove _LIBCPP_EXTERN_TEMPLATE_INLINE_VISIBILITY 2018-10-16 19:26:23 +00:00
string Implement P0966 - string::reserve should not shrink 2018-11-28 18:18:34 +00:00
string_view [libcxx] Apply _LIBCPP_INLINE_VISIBILITY for std::hash for string_view 2018-11-28 15:22:30 +00:00
string.h
strstream
system_error [libc++] Remove _LIBCPP_BUILDING_XXX macros, which are redundant since _LIBCPP_BUILDING_LIBRARY 2018-08-01 02:08:59 +00:00
tgmath.h Implement LWG 2835 - fix <tgmath.h> 2018-02-12 19:13:24 +00:00
thread [libc++] Make sure we can build libc++ with -fvisibility=hidden 2018-10-25 12:13:43 +00:00
tuple [libcxx] Implement P0318: unwrap_ref_decay and unwrap_reference 2018-12-03 14:03:27 +00:00
type_traits First part of P0482 - Establish that char8_t is an integral type, and that numeric_limits<char8_t> is valid and sane. (second try) 2018-11-29 23:21:18 +00:00
typeindex
typeinfo [NFC][libc++] Consistently use spaces to indent 2018-08-03 22:36:53 +00:00
unordered_map Second half of C++17's splicing maps and sets 2018-10-31 17:31:35 +00:00
unordered_set Second half of C++17's splicing maps and sets 2018-10-31 17:31:35 +00:00
utility [libcxx] Implement P0318: unwrap_ref_decay and unwrap_reference 2018-12-03 14:03:27 +00:00
valarray Revert "Move internal usages of alignof/__alignof to use _LIBCPP_ALIGNOF. " 2018-11-28 22:24:19 +00:00
variant [libcxx] Add availability markup for bad_optional_access, bad_variant_access and bad_any_cast 2018-11-19 15:37:04 +00:00
vector Off-by-one errors strike again. Thank goodness for ASAN and the bots. 2018-10-23 20:07:45 +00:00
version Second half of C++17's splicing maps and sets 2018-10-31 17:31:35 +00:00
wchar.h [libc++] Account for Microsoft CRT const overloads 2017-09-15 18:49:34 +00:00
wctype.h