Nikolas Klauser
98d3d5b5da
[libc++] Implement P1004R2 (constexpr std::vector)
...
Reviewed By: #libc, ldionne
Spies: mgorny, var-const, ormris, philnik, miscco, hiraditya, steven_wu, jkorous, ldionne, christof, libcxx-commits
Differential Revision: https://reviews.llvm.org/D68365
2022-07-27 20:26:44 +02:00
Louis Dionne
ee78181f34
[libc++] Remove macros for IBM compiler
...
It's not tested or used anymore -- instead a Clang-based compiler is
used on IBM nowadays.
Differential Revision: https://reviews.llvm.org/D127650
2022-06-14 09:15:41 -04:00
Arthur O'Dwyer
3f3abaf40a
[libc++] LWG2148, LWG2543: Enable std::hash<Enum> in C++03 and C++11.
...
Fixes #49601 .
Differential Revision: https://reviews.llvm.org/D119891
2022-02-16 11:01:49 -05:00
Mark de Wever
959678425d
[libc++][nfc] Add TEST_HAS_NO_UNICODE_CHARS.
...
This avoids using an libc++ internal macro in our tests.
Reviewed By: #libc, philnik, ldionne
Differential Revision: https://reviews.llvm.org/D118832
2022-02-03 08:02:25 +01:00
Mark de Wever
8f972cb0fd
[libc++][nfc] Add TEST_HAS_NO_INT128.
...
Avoid using the libc++ internal `_LIBCPP_HAS_NO_INT128` in our tests.
Reviewed By: #libc, ldionne
Differential Revision: https://reviews.llvm.org/D117992
2022-01-27 17:31:27 +01:00
Louis Dionne
f4c1258d56
[libc++] Add an option to disable wide character support in libc++
...
Some embedded platforms do not wish to support the C library functionality
for handling wchar_t because they have no use for it. It makes sense for
libc++ to work properly on those platforms, so this commit adds a carve-out
of functionality for wchar_t.
Unfortunately, unlike some other carve-outs (e.g. random device), this
patch touches several parts of the library. However, despite the wide
impact of this patch, I still think it is important to support this
configuration since it makes it much simpler to port libc++ to some
embedded platforms.
Differential Revision: https://reviews.llvm.org/D111265
2021-10-12 06:08:23 -04:00
wmbat
2ff5a56e1a
[libcxx][type_traits] remove `std::is_literal_type` and `std::result_of` for C++20
...
C++17 deprecated `std::is_literal_type` and `std::result_of`, C++20 removed them.
Implements parts of:
* P0174R2 'Deprecating Vestigial Library Parts in C++17'.
* P0619R4 'Reviewing Deprecated Facilities of C++17 for C++20'.
Reviewed By: ldionne, Mordante, Quuxplusone, #libc
Differential Revision: https://reviews.llvm.org/D102992
2021-07-02 17:10:19 +00:00
Christopher Di Bella
69d5a66621
[libcxx][modularisation] splits `<utility>` into self-contained headers
...
* moves `std::hash` and `std::unary_function` into `__functional`
* Everything else goes into `__utility/${NAME}.h`
Differential Revision: https://reviews.llvm.org/D104002
2021-06-25 00:29:01 +00:00
Christopher Di Bella
6adbc83ee9
[libcxx][modularisation] moves <utility> content out of <type_traits>
...
Moves:
* `std::move`, `std::forward`, `std::declval`, and `std::swap` into
`__utility/${FUNCTION_NAME}`.
* `std::swap_ranges` and `std::iter_swap` into
`__algorithm/${FUNCTION_NAME}`
Differential Revision: https://reviews.llvm.org/D103734
2021-06-24 17:57:29 +00:00
Nico Weber
cc89063bff
libcxx: Rename .hpp files in libcxx/test/support to .h
...
LLVM uses .h as its extension for header files.
Files renamed using:
for f in libcxx/test/support/*.hpp; do git mv $f ${f%.hpp}.h; done
References to the files updated using:
for f in $(git diff master | grep 'rename from' | cut -f 3 -d ' '); do
a=$(basename $f);
echo $a;
rg -l $a libcxx | xargs sed -i '' "s/$a/${a%.hpp}.h/";
done
HPP include guards updated manually using:
for f in $(git diff master | grep 'rename from' | cut -f 3 -d ' '); do
echo ${f%.hpp}.h ;
done | xargs mvim
Differential Revision: https://reviews.llvm.org/D66104
llvm-svn: 369481
2019-08-21 00:14:12 +00:00