llvm-project/libcxx
Arthur O'Dwyer 16bf43398a [libc++] Comma-operator-proof a lot of algorithm/container code.
Detected by evil-izing the widely used `MoveOnly` testing type.
I had to patch some tests that were themselves using its comma operator,
but I think that's a worthwhile cost in order to catch more places
in our headers that needed comma-proofing.

The trick here is that even `++ptr, SomeClass()` can find a comma operator
by ADL, if `ptr` is of type `Evil*`. (A comma between two operands
of non-class-or-enum type is always treated as the built-in
comma, without ADL. But if either operand is class-or-enum, then
ADL happens for _both_ operands' types.)

Differential Revision: https://reviews.llvm.org/D109414
2021-09-08 13:34:01 -04:00
..
benchmarks [test] Migrate -gcc-toolchain with space separator to --gcc-toolchain= 2021-08-20 15:24:58 -07:00
cmake [libc++][format] Add a CMake Unicode option. 2021-09-04 11:55:10 +02:00
docs Mention OpenBSD in the documentation 2021-09-07 07:55:17 -04:00
include [libc++] Comma-operator-proof a lot of algorithm/container code. 2021-09-08 13:34:01 -04:00
lib [libc++][NFC] Add missing commits to the ABI changelog 2021-07-20 09:19:52 -04:00
src [libc++] Remove some workarounds for unsupported GCC and Clang versions 2021-09-01 10:57:14 -04:00
test [libc++] Comma-operator-proof a lot of algorithm/container code. 2021-09-08 13:34:01 -04:00
utils [libc++] Provide 'buildhost=<platform> feature for the tests. 2021-09-07 11:49:53 -04:00
.clang-format [libcxx][NFC] removes IndentRequires from .clang-format 2021-04-15 19:28:45 +00:00
.gitignore
CMakeLists.txt [libc++][format] Add a CMake Unicode option. 2021-09-04 11:55:10 +02:00
CREDITS.TXT [libc++] Update credits.txt per coment on D108263 2021-08-20 08:42:36 -04:00
LICENSE.TXT
TODO.TXT [libcxx][docs] Remove completed issues from TODO.TXT 2021-09-01 08:22:23 -04:00
appveyor-reqs-install.cmd
appveyor.yml