[libc++] Make std::allocator_arg and friends conforming in C++17
authorLouis Dionne <ldionne.2@gmail.com>
Mon, 6 Mar 2023 21:43:34 +0000 (16:43 -0500)
committerLouis Dionne <ldionne.2@gmail.com>
Fri, 21 Apr 2023 21:47:17 +0000 (17:47 -0400)
commit8643bdd0165c494f86222fe892a7785ef95e1750
tree3efaef2260325789ff00ee04e3c6b18c80e5814e
parente096a03fdbbe6e10aa08b63b6ee20f9008d1b644
[libc++] Make std::allocator_arg and friends conforming in C++17

This patch makes global tag variables like std::allocator_arg
conform to C++17 by defining them as inline constexpr variables.
This is possible without creating an ODR violation now that we don't
define strong definitions of those variables in the shared library
anymore.

Differential Revision: https://reviews.llvm.org/D145589
libcxx/include/__functional/bind.h
libcxx/include/__memory/allocator_arg_t.h
libcxx/include/__mutex/tag_types.h
libcxx/include/__utility/piecewise_construct.h