llvm-project/libcxx
Arthur O'Dwyer 6e965df605 Revert "Revert "[libc++] ADL-proof <vector> by adding _VSTD:: qualification on calls.""
This reverts commit 620adacf87.

Fix: unsupport C++03 for the new test, define helpers before __swap_allocator

(1) Add _VSTD:: qualification to __swap_allocator.

(2) Add _VSTD:: qualification consistently to __to_address.

(3) Add some more missing _VSTD:: to <vector>, with a regression test.
This part is cleanup after d9a4f936d0.

Note that a vector whose allocator actually runs afoul of any of these ADL calls will
likely also run afoul of simple things like `v1 == v2` (which is also an ADL call).
But, still, libc++ should be consistent in qualifying function calls wherever possible.

Relevant blog post: https://quuxplusone.github.io/blog/2019/09/26/uglification-doesnt-stop-adl/

Differential Revision: https://reviews.llvm.org/D91708
2020-11-20 20:59:18 -05:00
..
benchmarks [runtimes] Revert the libc++ __config_site change 2020-10-23 09:41:48 -04:00
cmake [libc++] Clarify how we pick the typeinfo comparison 2020-11-18 16:58:45 -05:00
docs [libc++] Add documentation for setting up new CI jobs 2020-11-19 14:42:02 -05:00
include Revert "Revert "[libc++] ADL-proof <vector> by adding _VSTD:: qualification on calls."" 2020-11-20 20:59:18 -05:00
lib [libc++] NFC: Remove symbol from ABI list changelog that was never added 2020-11-12 14:35:56 -05:00
src Guard init_priority attribute within libc++ 2020-11-20 15:53:26 -05:00
test Revert "Revert "[libc++] ADL-proof <vector> by adding _VSTD:: qualification on calls."" 2020-11-20 20:59:18 -05:00
utils [libc++] Move the GDB pretty printer tests to the DSL 2020-11-16 16:16:39 -05:00
www [libc++] Implements multiline regex support. 2020-11-18 18:17:36 +01:00
.clang-format
.gitignore [libcxx] Fix .gitignore to not exclude test directories 2020-03-25 17:52:23 -07:00
CMakeLists.txt [libc++] Clarify how we pick the typeinfo comparison 2020-11-18 16:58:45 -05:00
CREDITS.TXT [libcxx] Adds [concept.same] 2020-04-08 18:00:13 -04:00
LICENSE.TXT Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
NOTES.TXT
TODO.TXT [libc++][NFC] Remove outdated TODO item 2020-07-08 13:04:33 -04:00
appveyor-reqs-install.cmd Attempt to upgrade compiler used by appveyor builds 2019-04-03 20:40:01 +00:00
appveyor.yml disable appveyor config for MSVC 2015 2019-04-03 20:36:51 +00:00