mirror of
https://github.com/llvm-mirror/libcxx.git
synced 2025-10-24 12:02:36 +08:00
Guard typedefs and static_asserts with _LIBCPP_VERSION. test/std/containers/sequences/vector.bool/move_assign_noexcept.pass.cpp test/std/containers/sequences/vector.bool/move_noexcept.pass.cpp test/std/containers/sequences/vector.bool/swap_noexcept.pass.cpp Additionally deal with conditional compilation. test/std/containers/associative/map/map.cons/move_noexcept.pass.cpp test/std/containers/associative/multimap/multimap.cons/move_noexcept.pass.cpp Additionally deal with typedefs used by other typedefs. Fixes D29135. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@294154 91177308-0d34-0410-b5e6-96231b3b80d8
34 lines
809 B
C++
34 lines
809 B
C++
//===----------------------------------------------------------------------===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is dual licensed under the MIT and the University of Illinois Open
|
|
// Source Licenses. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
// <stack>
|
|
|
|
// stack()
|
|
// noexcept(is_nothrow_default_constructible<container_type>::value);
|
|
|
|
// This tests a conforming extension
|
|
|
|
// UNSUPPORTED: c++98, c++03
|
|
|
|
#include <stack>
|
|
#include <cassert>
|
|
|
|
#include "test_macros.h"
|
|
#include "MoveOnly.h"
|
|
|
|
int main()
|
|
{
|
|
#if defined(_LIBCPP_VERSION)
|
|
{
|
|
typedef std::stack<MoveOnly> C;
|
|
static_assert(std::is_nothrow_default_constructible<C>::value, "");
|
|
}
|
|
#endif // _LIBCPP_VERSION
|
|
}
|