[libc++] Remove various C++03 feature test macros
authorEric Fiselier <eric@efcs.ca>
Sun, 25 Sep 2016 03:34:28 +0000 (03:34 +0000)
committerEric Fiselier <eric@efcs.ca>
Sun, 25 Sep 2016 03:34:28 +0000 (03:34 +0000)
commit54613ab4d448d5df567ae12451ba37cae73f1ac7
tree6037ab2528d99c9d314ed37d2382d721140664ac
parent84505f9a9c958e5728c4b500ef429c29f72a7ff5
[libc++] Remove various C++03 feature test macros

Summary:
Libc++ still uses per-feature configuration macros when configuring for C++11. However libc++ requires a feature-complete C++11 compiler so there is no reason to check individual features. This patch starts the process of removing the feature specific macros and replacing their usage with `_LIBCPP_CXX03_LANG`.

This patch removes the __config macros:

* _LIBCPP_HAS_NO_TRAILING_RETURN
* _LIBCPP_HAS_NO_TEMPLATE_ALIASES
* _LIBCPP_HAS_NO_ADVANCED_SFINAE
* _LIBCPP_HAS_NO_DEFAULT_FUNCTION_TEMPLATE_ARGS
* _LIBCPP_HAS_NO_STATIC_ASSERT

As a drive I also changed our C++03 static_assert to use _Static_assert if available.

I plan to commit this without review if nobody voices an objection.

Reviewers: mclow.lists

Subscribers: cfe-commits

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

llvm-svn: 282347
25 files changed:
libcxx/include/__config
libcxx/include/iterator
libcxx/include/memory
libcxx/include/ratio
libcxx/include/scoped_allocator
libcxx/include/type_traits
libcxx/test/std/containers/associative/map/map.cons/copy.pass.cpp
libcxx/test/std/containers/associative/multimap/multimap.cons/copy.pass.cpp
libcxx/test/std/containers/associative/multiset/multiset.cons/copy.pass.cpp
libcxx/test/std/containers/associative/set/set.cons/copy.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.cons/copy.pass.cpp
libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/copy.pass.cpp
libcxx/test/std/containers/sequences/list/list.cons/copy.pass.cpp
libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/copy.pass.cpp
libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/copy.pass.cpp
libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/copy.pass.cpp
libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/copy.pass.cpp
libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate_hint.pass.cpp
libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/construct.pass.cpp
libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/destroy.pass.cpp
libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/max_size.pass.cpp
libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/select_on_container_copy_construction.pass.cpp
libcxx/test/std/utilities/memory/allocator.traits/rebind_traits.pass.cpp
libcxx/test/std/utilities/memory/pointer.traits/rebind.pass.cpp
libcxx/test/support/test_allocator.h