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:
Eric Fiselier
2017-05-12 01:44:51 +00:00
parent 40e4fb68ac
commit 2d31e197db
5 changed files with 74 additions and 16 deletions

View File

@@ -35,7 +35,6 @@
void sig_action(int) {} void sig_action(int) {}
#include <iostream>
int main() int main()
{ {
int ec; int ec;

View 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()
{
}

View File

@@ -0,0 +1,22 @@
// -*- 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.
//
//===----------------------------------------------------------------------===//
// <thread>
// template <class Rep, class Period>
// void sleep_for(const chrono::duration<Rep, Period>& rel_time);
// The std::this_thread::sleep_for test requires POSIX specific headers and
// is therefore non-standard. For this reason the test lives under the 'libcxx'
// subdirectory.
int main()
{
}

View File

@@ -11,22 +11,27 @@
#include <bitset> #include <bitset>
#ifndef _LIBCPP_CSTDDEF template <class> void test_typedef() {}
#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() int main()
{ {
{ // test for <cstddef>
std::ptrdiff_t p; ((void)p);
std::size_t s; ((void)s);
std::nullptr_t np; ((void)np);
}
{ // test for <string>
std::string s; ((void)s);
}
{ // test for <stdexcept>
std::logic_error le("blah"); ((void)le);
std::runtime_error re("blah"); ((void)re);
}
{ // test for <iosfwd>
test_typedef<std::ios>();
test_typedef<std::wios>();
test_typedef<std::istream>();
test_typedef<std::ostream>();
test_typedef<std::iostream>();
}
} }