Fix or move tests with non-standard assumptions
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@302862 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
32
test/libcxx/utilities/template.bitset/includes.pass.cpp
Normal file
32
test/libcxx/utilities/template.bitset/includes.pass.cpp
Normal file
@@ -0,0 +1,32 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// 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.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// test that <bitset> includes <cstddef>, <string>, <stdexcept> and <iosfwd>
|
||||
|
||||
#include <bitset>
|
||||
|
||||
#ifndef _LIBCPP_CSTDDEF
|
||||
#error <cstddef> has not been included
|
||||
#endif
|
||||
|
||||
#ifndef _LIBCPP_STRING
|
||||
#error <string> has not been included
|
||||
#endif
|
||||
|
||||
#ifndef _LIBCPP_STDEXCEPT
|
||||
#error <stdexcept> has not been included
|
||||
#endif
|
||||
|
||||
#ifndef _LIBCPP_IOSFWD
|
||||
#error <iosfwd> has not been included
|
||||
#endif
|
||||
|
||||
int main()
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// 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.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// <tuple>
|
||||
|
||||
// template <class... Types> class tuple;
|
||||
|
||||
// UNSUPPORTED: c++98, c++03
|
||||
|
||||
// This is not a portable test
|
||||
|
||||
#include <tuple>
|
||||
|
||||
struct A {};
|
||||
|
||||
struct B {};
|
||||
|
||||
int main()
|
||||
{
|
||||
{
|
||||
typedef std::tuple<int, A> T;
|
||||
static_assert((sizeof(T) == sizeof(int)), "");
|
||||
}
|
||||
{
|
||||
typedef std::tuple<A, int> T;
|
||||
static_assert((sizeof(T) == sizeof(int)), "");
|
||||
}
|
||||
{
|
||||
typedef std::tuple<A, int, B> T;
|
||||
static_assert((sizeof(T) == sizeof(int)), "");
|
||||
}
|
||||
{
|
||||
typedef std::tuple<A, B, int> T;
|
||||
static_assert((sizeof(T) == sizeof(int)), "");
|
||||
}
|
||||
{
|
||||
typedef std::tuple<int, A, B> T;
|
||||
static_assert((sizeof(T) == sizeof(int)), "");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user