diff options
Diffstat (limited to 'libcxx/test/language.support')
120 files changed, 0 insertions, 5610 deletions
diff --git a/libcxx/test/language.support/cstdint/cstdint.syn/cstdint.pass.cpp b/libcxx/test/language.support/cstdint/cstdint.syn/cstdint.pass.cpp deleted file mode 100644 index 9c3354d750b..00000000000 --- a/libcxx/test/language.support/cstdint/cstdint.syn/cstdint.pass.cpp +++ /dev/null @@ -1,290 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 <cstdint> - -#include <cstdint> -#include <csignal> -#include <cwctype> -#include <climits> -#include <type_traits> -#include <limits> -#include <cassert> - -int main() -{ - // typedef std::int8_t - static_assert(sizeof(std::int8_t)*CHAR_BIT == 8, - "sizeof(std::int8_t)*CHAR_BIT == 8"); - static_assert(std::is_signed<std::int8_t>::value, - "std::is_signed<std::int8_t>::value"); - // typedef std::int16_t - static_assert(sizeof(std::int16_t)*CHAR_BIT == 16, - "sizeof(std::int16_t)*CHAR_BIT == 16"); - static_assert(std::is_signed<std::int16_t>::value, - "std::is_signed<std::int16_t>::value"); - // typedef std::int32_t - static_assert(sizeof(std::int32_t)*CHAR_BIT == 32, - "sizeof(std::int32_t)*CHAR_BIT == 32"); - static_assert(std::is_signed<std::int32_t>::value, - "std::is_signed<std::int32_t>::value"); - // typedef std::int64_t - static_assert(sizeof(std::int64_t)*CHAR_BIT == 64, - "sizeof(std::int64_t)*CHAR_BIT == 64"); - static_assert(std::is_signed<std::int64_t>::value, - "std::is_signed<std::int64_t>::value"); - - // typedef std::uint8_t - static_assert(sizeof(std::uint8_t)*CHAR_BIT == 8, - "sizeof(std::uint8_t)*CHAR_BIT == 8"); - static_assert(std::is_unsigned<std::uint8_t>::value, - "std::is_unsigned<std::uint8_t>::value"); - // typedef std::uint16_t - static_assert(sizeof(std::uint16_t)*CHAR_BIT == 16, - "sizeof(std::uint16_t)*CHAR_BIT == 16"); - static_assert(std::is_unsigned<std::uint16_t>::value, - "std::is_unsigned<std::uint16_t>::value"); - // typedef std::uint32_t - static_assert(sizeof(std::uint32_t)*CHAR_BIT == 32, - "sizeof(std::uint32_t)*CHAR_BIT == 32"); - static_assert(std::is_unsigned<std::uint32_t>::value, - "std::is_unsigned<std::uint32_t>::value"); - // typedef std::uint64_t - static_assert(sizeof(std::uint64_t)*CHAR_BIT == 64, - "sizeof(std::uint64_t)*CHAR_BIT == 64"); - static_assert(std::is_unsigned<std::uint64_t>::value, - "std::is_unsigned<std::uint64_t>::value"); - - // typedef std::int_least8_t - static_assert(sizeof(std::int_least8_t)*CHAR_BIT >= 8, - "sizeof(std::int_least8_t)*CHAR_BIT >= 8"); - static_assert(std::is_signed<std::int_least8_t>::value, - "std::is_signed<std::int_least8_t>::value"); - // typedef std::int_least16_t - static_assert(sizeof(std::int_least16_t)*CHAR_BIT >= 16, - "sizeof(std::int_least16_t)*CHAR_BIT >= 16"); - static_assert(std::is_signed<std::int_least16_t>::value, - "std::is_signed<std::int_least16_t>::value"); - // typedef std::int_least32_t - static_assert(sizeof(std::int_least32_t)*CHAR_BIT >= 32, - "sizeof(std::int_least32_t)*CHAR_BIT >= 32"); - static_assert(std::is_signed<std::int_least32_t>::value, - "std::is_signed<std::int_least32_t>::value"); - // typedef std::int_least64_t - static_assert(sizeof(std::int_least64_t)*CHAR_BIT >= 64, - "sizeof(std::int_least64_t)*CHAR_BIT >= 64"); - static_assert(std::is_signed<std::int_least64_t>::value, - "std::is_signed<std::int_least64_t>::value"); - - // typedef std::uint_least8_t - static_assert(sizeof(std::uint_least8_t)*CHAR_BIT >= 8, - "sizeof(std::uint_least8_t)*CHAR_BIT >= 8"); - static_assert(std::is_unsigned<std::uint_least8_t>::value, - "std::is_unsigned<std::uint_least8_t>::value"); - // typedef std::uint_least16_t - static_assert(sizeof(std::uint_least16_t)*CHAR_BIT >= 16, - "sizeof(std::uint_least16_t)*CHAR_BIT >= 16"); - static_assert(std::is_unsigned<std::uint_least16_t>::value, - "std::is_unsigned<std::uint_least16_t>::value"); - // typedef std::uint_least32_t - static_assert(sizeof(std::uint_least32_t)*CHAR_BIT >= 32, - "sizeof(std::uint_least32_t)*CHAR_BIT >= 32"); - static_assert(std::is_unsigned<std::uint_least32_t>::value, - "std::is_unsigned<std::uint_least32_t>::value"); - // typedef std::uint_least64_t - static_assert(sizeof(std::uint_least64_t)*CHAR_BIT >= 64, - "sizeof(std::uint_least64_t)*CHAR_BIT >= 64"); - static_assert(std::is_unsigned<std::uint_least64_t>::value, - "std::is_unsigned<std::uint_least64_t>::value"); - - // typedef std::int_fast8_t - static_assert(sizeof(std::int_fast8_t)*CHAR_BIT >= 8, - "sizeof(std::int_fast8_t)*CHAR_BIT >= 8"); - static_assert(std::is_signed<std::int_fast8_t>::value, - "std::is_signed<std::int_fast8_t>::value"); - // typedef std::int_fast16_t - static_assert(sizeof(std::int_fast16_t)*CHAR_BIT >= 16, - "sizeof(std::int_fast16_t)*CHAR_BIT >= 16"); - static_assert(std::is_signed<std::int_fast16_t>::value, - "std::is_signed<std::int_fast16_t>::value"); - // typedef std::int_fast32_t - static_assert(sizeof(std::int_fast32_t)*CHAR_BIT >= 32, - "sizeof(std::int_fast32_t)*CHAR_BIT >= 32"); - static_assert(std::is_signed<std::int_fast32_t>::value, - "std::is_signed<std::int_fast32_t>::value"); - // typedef std::int_fast64_t - static_assert(sizeof(std::int_fast64_t)*CHAR_BIT >= 64, - "sizeof(std::int_fast64_t)*CHAR_BIT >= 64"); - static_assert(std::is_signed<std::int_fast64_t>::value, - "std::is_signed<std::int_fast64_t>::value"); - - // typedef std::uint_fast8_t - static_assert(sizeof(std::uint_fast8_t)*CHAR_BIT >= 8, - "sizeof(std::uint_fast8_t)*CHAR_BIT >= 8"); - static_assert(std::is_unsigned<std::uint_fast8_t>::value, - "std::is_unsigned<std::uint_fast8_t>::value"); - // typedef std::uint_fast16_t - static_assert(sizeof(std::uint_fast16_t)*CHAR_BIT >= 16, - "sizeof(std::uint_fast16_t)*CHAR_BIT >= 16"); - static_assert(std::is_unsigned<std::uint_fast16_t>::value, - "std::is_unsigned<std::uint_fast16_t>::value"); - // typedef std::uint_fast32_t - static_assert(sizeof(std::uint_fast32_t)*CHAR_BIT >= 32, - "sizeof(std::uint_fast32_t)*CHAR_BIT >= 32"); - static_assert(std::is_unsigned<std::uint_fast32_t>::value, - "std::is_unsigned<std::uint_fast32_t>::value"); - // typedef std::uint_fast64_t - static_assert(sizeof(std::uint_fast64_t)*CHAR_BIT >= 64, - "sizeof(std::uint_fast64_t)*CHAR_BIT >= 64"); - static_assert(std::is_unsigned<std::uint_fast64_t>::value, - "std::is_unsigned<std::uint_fast64_t>::value"); - - // typedef std::intptr_t - static_assert(sizeof(std::intptr_t) >= sizeof(void*), - "sizeof(std::intptr_t) >= sizeof(void*)"); - static_assert(std::is_signed<std::intptr_t>::value, - "std::is_signed<std::intptr_t>::value"); - // typedef std::uintptr_t - static_assert(sizeof(std::uintptr_t) >= sizeof(void*), - "sizeof(std::uintptr_t) >= sizeof(void*)"); - static_assert(std::is_unsigned<std::uintptr_t>::value, - "std::is_unsigned<std::uintptr_t>::value"); - - // typedef std::intmax_t - static_assert(sizeof(std::intmax_t) >= sizeof(long long), - "sizeof(std::intmax_t) >= sizeof(long long)"); - static_assert(std::is_signed<std::intmax_t>::value, - "std::is_signed<std::intmax_t>::value"); - // typedef std::uintmax_t - static_assert(sizeof(std::uintmax_t) >= sizeof(unsigned long long), - "sizeof(std::uintmax_t) >= sizeof(unsigned long long)"); - static_assert(std::is_unsigned<std::uintmax_t>::value, - "std::is_unsigned<std::uintmax_t>::value"); - - // INTN_MIN - static_assert(INT8_MIN == -128, "INT8_MIN == -128"); - static_assert(INT16_MIN == -32768, "INT16_MIN == -32768"); - static_assert(INT32_MIN == -2147483648U, "INT32_MIN == -2147483648"); - static_assert(INT64_MIN == -9223372036854775808ULL, "INT64_MIN == -9223372036854775808LL"); - - // INTN_MAX - static_assert(INT8_MAX == 127, "INT8_MAX == 127"); - static_assert(INT16_MAX == 32767, "INT16_MAX == 32767"); - static_assert(INT32_MAX == 2147483647, "INT32_MAX == 2147483647"); - static_assert(INT64_MAX == 9223372036854775807LL, "INT64_MAX == 9223372036854775807LL"); - - // UINTN_MAX - static_assert(UINT8_MAX == 255, "UINT8_MAX == 255"); - static_assert(UINT16_MAX == 65535, "UINT16_MAX == 65535"); - static_assert(UINT32_MAX == 4294967295U, "UINT32_MAX == 4294967295"); - static_assert(UINT64_MAX == 18446744073709551615ULL, "UINT64_MAX == 18446744073709551615ULL"); - - // INT_FASTN_MIN - static_assert(INT_FAST8_MIN <= -128, "INT_FAST8_MIN <= -128"); - static_assert(INT_FAST16_MIN <= -32768, "INT_FAST16_MIN <= -32768"); - static_assert(INT_FAST32_MIN <= -2147483648U, "INT_FAST32_MIN <= -2147483648"); - static_assert(INT_FAST64_MIN <= -9223372036854775808ULL, "INT_FAST64_MIN <= -9223372036854775808LL"); - - // INT_FASTN_MAX - static_assert(INT_FAST8_MAX >= 127, "INT_FAST8_MAX >= 127"); - static_assert(INT_FAST16_MAX >= 32767, "INT_FAST16_MAX >= 32767"); - static_assert(INT_FAST32_MAX >= 2147483647, "INT_FAST32_MAX >= 2147483647"); - static_assert(INT_FAST64_MAX >= 9223372036854775807LL, "INT_FAST64_MAX >= 9223372036854775807LL"); - - // UINT_FASTN_MAX - static_assert(UINT_FAST8_MAX >= 255, "UINT_FAST8_MAX >= 255"); - static_assert(UINT_FAST16_MAX >= 65535, "UINT_FAST16_MAX >= 65535"); - static_assert(UINT_FAST32_MAX >= 4294967295U, "UINT_FAST32_MAX >= 4294967295"); - static_assert(UINT_FAST64_MAX >= 18446744073709551615ULL, "UINT_FAST64_MAX >= 18446744073709551615ULL"); - - // INTPTR_MIN - assert(INTPTR_MIN == std::numeric_limits<std::intptr_t>::min()); - - // INTPTR_MAX - assert(INTPTR_MAX == std::numeric_limits<std::intptr_t>::max()); - - // UINTPTR_MAX - assert(UINTPTR_MAX == std::numeric_limits<std::uintptr_t>::max()); - - // INTMAX_MIN - assert(INTMAX_MIN == std::numeric_limits<std::intmax_t>::min()); - - // INTMAX_MAX - assert(INTMAX_MAX == std::numeric_limits<std::intmax_t>::max()); - - // UINTMAX_MAX - assert(UINTMAX_MAX == std::numeric_limits<std::uintmax_t>::max()); - - // PTRDIFF_MIN - assert(PTRDIFF_MIN == std::numeric_limits<std::ptrdiff_t>::min()); - - // PTRDIFF_MAX - assert(PTRDIFF_MAX == std::numeric_limits<std::ptrdiff_t>::max()); - - // SIG_ATOMIC_MIN - assert(SIG_ATOMIC_MIN == std::numeric_limits<std::sig_atomic_t>::min()); - - // SIG_ATOMIC_MAX - assert(SIG_ATOMIC_MAX == std::numeric_limits<std::sig_atomic_t>::max()); - - // SIZE_MAX - assert(SIZE_MAX == std::numeric_limits<std::size_t>::max()); - - // WCHAR_MIN - assert(WCHAR_MIN == std::numeric_limits<wchar_t>::min()); - - // WCHAR_MAX - assert(WCHAR_MAX == std::numeric_limits<wchar_t>::max()); - - // WINT_MIN - assert(WINT_MIN == std::numeric_limits<std::wint_t>::min()); - - // WINT_MAX - assert(WINT_MAX == std::numeric_limits<std::wint_t>::max()); - -#ifndef INT8_C -#error INT8_C not defined -#endif - -#ifndef INT16_C -#error INT16_C not defined -#endif - -#ifndef INT32_C -#error INT32_C not defined -#endif - -#ifndef INT64_C -#error INT64_C not defined -#endif - -#ifndef UINT8_C -#error UINT8_C not defined -#endif - -#ifndef UINT16_C -#error UINT16_C not defined -#endif - -#ifndef UINT32_C -#error UINT32_C not defined -#endif - -#ifndef UINT64_C -#error UINT64_C not defined -#endif - -#ifndef INTMAX_C -#error INTMAX_C not defined -#endif - -#ifndef UINTMAX_C -#error UINTMAX_C not defined -#endif -} diff --git a/libcxx/test/language.support/cstdint/version.pass.cpp b/libcxx/test/language.support/cstdint/version.pass.cpp deleted file mode 100644 index 4c9a43a62ab..00000000000 --- a/libcxx/test/language.support/cstdint/version.pass.cpp +++ /dev/null @@ -1,20 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// <cstdint> - -#include <cstdint> - -#ifndef _LIBCPP_VERSION -#error _LIBCPP_VERSION not defined -#endif - -int main() -{ -} diff --git a/libcxx/test/language.support/nothing_to_do.pass.cpp b/libcxx/test/language.support/nothing_to_do.pass.cpp deleted file mode 100644 index b58f5c55b64..00000000000 --- a/libcxx/test/language.support/nothing_to_do.pass.cpp +++ /dev/null @@ -1,12 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -int main() -{ -} diff --git a/libcxx/test/language.support/support.dynamic/alloc.errors/bad.alloc/bad_alloc.pass.cpp b/libcxx/test/language.support/support.dynamic/alloc.errors/bad.alloc/bad_alloc.pass.cpp deleted file mode 100644 index cf8d4af9380..00000000000 --- a/libcxx/test/language.support/support.dynamic/alloc.errors/bad.alloc/bad_alloc.pass.cpp +++ /dev/null @@ -1,27 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 bad_alloc - -#include <new> -#include <type_traits> -#include <cassert> - -int main() -{ - static_assert((std::is_base_of<std::exception, std::bad_alloc>::value), - "std::is_base_of<std::exception, std::bad_alloc>::value"); - static_assert(std::is_polymorphic<std::bad_alloc>::value, - "std::is_polymorphic<std::bad_alloc>::value"); - std::bad_alloc b; - std::bad_alloc b2 = b; - b2 = b; - const char* w = b2.what(); - assert(w); -} diff --git a/libcxx/test/language.support/support.dynamic/alloc.errors/new.badlength/bad_array_length.pass.cpp b/libcxx/test/language.support/support.dynamic/alloc.errors/new.badlength/bad_array_length.pass.cpp deleted file mode 100644 index 7de50330455..00000000000 --- a/libcxx/test/language.support/support.dynamic/alloc.errors/new.badlength/bad_array_length.pass.cpp +++ /dev/null @@ -1,29 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 bad_array_length - -#include <new> -#include <type_traits> -#include <cassert> - -int main() -{ -#if __LIBCPP_STD_VER > 11 - static_assert((std::is_base_of<std::bad_alloc, std::bad_array_length>::value), - "std::is_base_of<std::bad_alloc, std::bad_array_length>::value"); - static_assert(std::is_polymorphic<std::bad_array_length>::value, - "std::is_polymorphic<std::bad_array_length>::value"); - std::bad_array_length b; - std::bad_array_length b2 = b; - b2 = b; - const char* w = b2.what(); - assert(w); -#endif -} diff --git a/libcxx/test/language.support/support.dynamic/alloc.errors/new.badlength/bad_array_new_length.pass.cpp b/libcxx/test/language.support/support.dynamic/alloc.errors/new.badlength/bad_array_new_length.pass.cpp deleted file mode 100644 index 50521c0005a..00000000000 --- a/libcxx/test/language.support/support.dynamic/alloc.errors/new.badlength/bad_array_new_length.pass.cpp +++ /dev/null @@ -1,27 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 bad_array_new_length - -#include <new> -#include <type_traits> -#include <cassert> - -int main() -{ - static_assert((std::is_base_of<std::bad_alloc, std::bad_array_new_length>::value), - "std::is_base_of<std::bad_alloc, std::bad_array_new_length>::value"); - static_assert(std::is_polymorphic<std::bad_array_new_length>::value, - "std::is_polymorphic<std::bad_array_new_length>::value"); - std::bad_array_new_length b; - std::bad_array_new_length b2 = b; - b2 = b; - const char* w = b2.what(); - assert(w); -} diff --git a/libcxx/test/language.support/support.dynamic/alloc.errors/new.handler/new_handler.pass.cpp b/libcxx/test/language.support/support.dynamic/alloc.errors/new.handler/new_handler.pass.cpp deleted file mode 100644 index 6b799a3e83d..00000000000 --- a/libcxx/test/language.support/support.dynamic/alloc.errors/new.handler/new_handler.pass.cpp +++ /dev/null @@ -1,19 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 new_handler - -#include <new> - -void f() {} - -int main() -{ - std::new_handler p = f; -} diff --git a/libcxx/test/language.support/support.dynamic/alloc.errors/nothing_to_do.pass.cpp b/libcxx/test/language.support/support.dynamic/alloc.errors/nothing_to_do.pass.cpp deleted file mode 100644 index b58f5c55b64..00000000000 --- a/libcxx/test/language.support/support.dynamic/alloc.errors/nothing_to_do.pass.cpp +++ /dev/null @@ -1,12 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -int main() -{ -} diff --git a/libcxx/test/language.support/support.dynamic/alloc.errors/set.new.handler/get_new_handler.pass.cpp b/libcxx/test/language.support/support.dynamic/alloc.errors/set.new.handler/get_new_handler.pass.cpp deleted file mode 100644 index 55a3edabfed..00000000000 --- a/libcxx/test/language.support/support.dynamic/alloc.errors/set.new.handler/get_new_handler.pass.cpp +++ /dev/null @@ -1,25 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 get_new_handler - -#include <new> -#include <cassert> - -void f1() {} -void f2() {} - -int main() -{ - assert(std::get_new_handler() == 0); - std::set_new_handler(f1); - assert(std::get_new_handler() == f1); - std::set_new_handler(f2); - assert(std::get_new_handler() == f2); -} diff --git a/libcxx/test/language.support/support.dynamic/alloc.errors/set.new.handler/set_new_handler.pass.cpp b/libcxx/test/language.support/support.dynamic/alloc.errors/set.new.handler/set_new_handler.pass.cpp deleted file mode 100644 index 349bf440e0d..00000000000 --- a/libcxx/test/language.support/support.dynamic/alloc.errors/set.new.handler/set_new_handler.pass.cpp +++ /dev/null @@ -1,22 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 set_new_handler - -#include <new> -#include <cassert> - -void f1() {} -void f2() {} - -int main() -{ - assert(std::set_new_handler(f1) == 0); - assert(std::set_new_handler(f2) == f1); -} diff --git a/libcxx/test/language.support/support.dynamic/new.delete/new.delete.array/new_array.pass.cpp b/libcxx/test/language.support/support.dynamic/new.delete/new.delete.array/new_array.pass.cpp deleted file mode 100644 index 052d88f199c..00000000000 --- a/libcxx/test/language.support/support.dynamic/new.delete/new.delete.array/new_array.pass.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 operator new[] -// NOTE: asan and msan will not call the new handler. -// UNSUPPORTED: asan, msan - - -#include <new> -#include <cstddef> -#include <cassert> -#include <limits> - -int new_handler_called = 0; - -void new_handler() -{ - ++new_handler_called; - std::set_new_handler(0); -} - -int A_constructed = 0; - -struct A -{ - A() {++A_constructed;} - ~A() {--A_constructed;} -}; - -int main() -{ - std::set_new_handler(new_handler); - try - { - void*volatile vp = operator new[] (std::numeric_limits<std::size_t>::max()); - assert(false); - } - catch (std::bad_alloc&) - { - assert(new_handler_called == 1); - } - catch (...) - { - assert(false); - } - A* ap = new A[3]; - assert(ap); - assert(A_constructed == 3); - delete [] ap; - assert(A_constructed == 0); -} diff --git a/libcxx/test/language.support/support.dynamic/new.delete/new.delete.array/new_array_nothrow.pass.cpp b/libcxx/test/language.support/support.dynamic/new.delete/new.delete.array/new_array_nothrow.pass.cpp deleted file mode 100644 index 259f5b0e4e5..00000000000 --- a/libcxx/test/language.support/support.dynamic/new.delete/new.delete.array/new_array_nothrow.pass.cpp +++ /dev/null @@ -1,54 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 operator new [] (nothrow) -// NOTE: asan and msan will not call the new handler. -// UNSUPPORTED: asan, msan - - -#include <new> -#include <cstddef> -#include <cassert> -#include <limits> - -int new_handler_called = 0; - -void new_handler() -{ - ++new_handler_called; - std::set_new_handler(0); -} - -int A_constructed = 0; - -struct A -{ - A() {++A_constructed;} - ~A() {--A_constructed;} -}; - -int main() -{ - std::set_new_handler(new_handler); - try - { - void*volatile vp = operator new [] (std::numeric_limits<std::size_t>::max(), std::nothrow); - assert(new_handler_called == 1); - assert(vp == 0); - } - catch (...) - { - assert(false); - } - A* ap = new(std::nothrow) A[3]; - assert(ap); - assert(A_constructed == 3); - delete [] ap; - assert(A_constructed == 0); -} diff --git a/libcxx/test/language.support/support.dynamic/new.delete/new.delete.array/new_array_nothrow_replace.pass.cpp b/libcxx/test/language.support/support.dynamic/new.delete/new.delete.array/new_array_nothrow_replace.pass.cpp deleted file mode 100644 index 3e3a00ca6e7..00000000000 --- a/libcxx/test/language.support/support.dynamic/new.delete/new.delete.array/new_array_nothrow_replace.pass.cpp +++ /dev/null @@ -1,51 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 operator new [] nothrow by replacing only operator new - -// UNSUPPORTED: asan, msan - -#include <new> -#include <cstddef> -#include <cstdlib> -#include <cassert> -#include <limits> - -int new_called = 0; - -void* operator new(std::size_t s) throw(std::bad_alloc) -{ - ++new_called; - return std::malloc(s); -} - -void operator delete(void* p) throw() -{ - --new_called; - std::free(p); -} - -volatile int A_constructed = 0; - -struct A -{ - A() {++A_constructed;} - ~A() {--A_constructed;} -}; - -int main() -{ - A* ap = new (std::nothrow) A[3]; - assert(ap); - assert(A_constructed == 3); - assert(new_called); - delete [] ap; - assert(A_constructed == 0); - assert(!new_called); -} diff --git a/libcxx/test/language.support/support.dynamic/new.delete/new.delete.array/new_array_replace.pass.cpp b/libcxx/test/language.support/support.dynamic/new.delete/new.delete.array/new_array_replace.pass.cpp deleted file mode 100644 index acf972b1353..00000000000 --- a/libcxx/test/language.support/support.dynamic/new.delete/new.delete.array/new_array_replace.pass.cpp +++ /dev/null @@ -1,51 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 operator new[] replacement by replacing only operator new - -// UNSUPPORTED: asan, msan - -#include <new> -#include <cstddef> -#include <cstdlib> -#include <cassert> -#include <limits> - -volatile int new_called = 0; - -void* operator new(std::size_t s) throw(std::bad_alloc) -{ - ++new_called; - return std::malloc(s); -} - -void operator delete(void* p) throw() -{ - --new_called; - std::free(p); -} - -int A_constructed = 0; - -struct A -{ - A() {++A_constructed;} - ~A() {--A_constructed;} -}; - -int main() -{ - A* ap = new A[3]; - assert(ap); - assert(A_constructed == 3); - assert(new_called == 1); - delete [] ap; - assert(A_constructed == 0); - assert(new_called == 0); -} diff --git a/libcxx/test/language.support/support.dynamic/new.delete/new.delete.dataraces/not_testable.pass.cpp b/libcxx/test/language.support/support.dynamic/new.delete/new.delete.dataraces/not_testable.pass.cpp deleted file mode 100644 index b58f5c55b64..00000000000 --- a/libcxx/test/language.support/support.dynamic/new.delete/new.delete.dataraces/not_testable.pass.cpp +++ /dev/null @@ -1,12 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -int main() -{ -} diff --git a/libcxx/test/language.support/support.dynamic/new.delete/new.delete.placement/new.pass.cpp b/libcxx/test/language.support/support.dynamic/new.delete/new.delete.placement/new.pass.cpp deleted file mode 100644 index ad306e06cb7..00000000000 --- a/libcxx/test/language.support/support.dynamic/new.delete/new.delete.placement/new.pass.cpp +++ /dev/null @@ -1,30 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 placement new - -#include <new> -#include <cassert> - -int A_constructed = 0; - -struct A -{ - A() {++A_constructed;} - ~A() {--A_constructed;} -}; - -int main() -{ - char buf[sizeof(A)]; - - A* ap = new(buf) A; - assert((char*)ap == buf); - assert(A_constructed == 1); -} diff --git a/libcxx/test/language.support/support.dynamic/new.delete/new.delete.placement/new_array.pass.cpp b/libcxx/test/language.support/support.dynamic/new.delete/new.delete.placement/new_array.pass.cpp deleted file mode 100644 index 1ab52ae4c8d..00000000000 --- a/libcxx/test/language.support/support.dynamic/new.delete/new.delete.placement/new_array.pass.cpp +++ /dev/null @@ -1,30 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 placement new array - -#include <new> -#include <cassert> - -int A_constructed = 0; - -struct A -{ - A() {++A_constructed;} - ~A() {--A_constructed;} -}; - -int main() -{ - char buf[3*sizeof(A)]; - - A* ap = new(buf) A[3]; - assert((char*)ap == buf); - assert(A_constructed == 3); -} diff --git a/libcxx/test/language.support/support.dynamic/new.delete/new.delete.single/new.pass.cpp b/libcxx/test/language.support/support.dynamic/new.delete/new.delete.single/new.pass.cpp deleted file mode 100644 index 3ba71dd90e3..00000000000 --- a/libcxx/test/language.support/support.dynamic/new.delete/new.delete.single/new.pass.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 operator new - -// asan and msan will not call the new handler. -// UNSUPPORTED: asan, msan - -#include <new> -#include <cstddef> -#include <cassert> -#include <limits> - -int new_handler_called = 0; - -void new_handler() -{ - ++new_handler_called; - std::set_new_handler(0); -} - -bool A_constructed = false; - -struct A -{ - A() {A_constructed = true;} - ~A() {A_constructed = false;} -}; - -int main() -{ - std::set_new_handler(new_handler); - try - { - void* vp = operator new (std::numeric_limits<std::size_t>::max()); - assert(false); - } - catch (std::bad_alloc&) - { - assert(new_handler_called == 1); - } - catch (...) - { - assert(false); - } - A* ap = new A; - assert(ap); - assert(A_constructed); - delete ap; - assert(!A_constructed); -} diff --git a/libcxx/test/language.support/support.dynamic/new.delete/new.delete.single/new_nothrow.pass.cpp b/libcxx/test/language.support/support.dynamic/new.delete/new.delete.single/new_nothrow.pass.cpp deleted file mode 100644 index c76bfa0bfba..00000000000 --- a/libcxx/test/language.support/support.dynamic/new.delete/new.delete.single/new_nothrow.pass.cpp +++ /dev/null @@ -1,54 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 operator new (nothrow) - -// asan and msan will not call the new handler. -// UNSUPPORTED: asan, msan - -#include <new> -#include <cstddef> -#include <cassert> -#include <limits> - -int new_handler_called = 0; - -void new_handler() -{ - ++new_handler_called; - std::set_new_handler(0); -} - -bool A_constructed = false; - -struct A -{ - A() {A_constructed = true;} - ~A() {A_constructed = false;} -}; - -int main() -{ - std::set_new_handler(new_handler); - try - { - void* vp = operator new (std::numeric_limits<std::size_t>::max(), std::nothrow); - assert(new_handler_called == 1); - assert(vp == 0); - } - catch (...) - { - assert(false); - } - A* ap = new(std::nothrow) A; - assert(ap); - assert(A_constructed); - delete ap; - assert(!A_constructed); -} diff --git a/libcxx/test/language.support/support.dynamic/new.delete/new.delete.single/new_nothrow_replace.pass.cpp b/libcxx/test/language.support/support.dynamic/new.delete/new.delete.single/new_nothrow_replace.pass.cpp deleted file mode 100644 index f2dbb98f881..00000000000 --- a/libcxx/test/language.support/support.dynamic/new.delete/new.delete.single/new_nothrow_replace.pass.cpp +++ /dev/null @@ -1,51 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 operator new nothrow by replacing only operator new - -// UNSUPPORTED: asan, msan - -#include <new> -#include <cstddef> -#include <cstdlib> -#include <cassert> -#include <limits> - -int new_called = 0; - -void* operator new(std::size_t s) throw(std::bad_alloc) -{ - ++new_called; - return std::malloc(s); -} - -void operator delete(void* p) throw() -{ - --new_called; - std::free(p); -} - -bool A_constructed = false; - -struct A -{ - A() {A_constructed = true;} - ~A() {A_constructed = false;} -}; - -int main() -{ - A* ap = new (std::nothrow) A; - assert(ap); - assert(A_constructed); - assert(new_called); - delete ap; - assert(!A_constructed); - assert(!new_called); -} diff --git a/libcxx/test/language.support/support.dynamic/new.delete/new.delete.single/new_replace.pass.cpp b/libcxx/test/language.support/support.dynamic/new.delete/new.delete.single/new_replace.pass.cpp deleted file mode 100644 index 2d411b9e884..00000000000 --- a/libcxx/test/language.support/support.dynamic/new.delete/new.delete.single/new_replace.pass.cpp +++ /dev/null @@ -1,51 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 operator new replacement - -// UNSUPPORTED: asan, msan - -#include <new> -#include <cstddef> -#include <cstdlib> -#include <cassert> -#include <limits> - -int new_called = 0; - -void* operator new(std::size_t s) throw(std::bad_alloc) -{ - ++new_called; - return std::malloc(s); -} - -void operator delete(void* p) throw() -{ - --new_called; - std::free(p); -} - -bool A_constructed = false; - -struct A -{ - A() {A_constructed = true;} - ~A() {A_constructed = false;} -}; - -int main() -{ - A* ap = new A; - assert(ap); - assert(A_constructed); - assert(new_called); - delete ap; - assert(!A_constructed); - assert(!new_called); -} diff --git a/libcxx/test/language.support/support.dynamic/new.delete/nothing_to_do.pass.cpp b/libcxx/test/language.support/support.dynamic/new.delete/nothing_to_do.pass.cpp deleted file mode 100644 index b58f5c55b64..00000000000 --- a/libcxx/test/language.support/support.dynamic/new.delete/nothing_to_do.pass.cpp +++ /dev/null @@ -1,12 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -int main() -{ -} diff --git a/libcxx/test/language.support/support.dynamic/version.pass.cpp b/libcxx/test/language.support/support.dynamic/version.pass.cpp deleted file mode 100644 index ba1ff518e51..00000000000 --- a/libcxx/test/language.support/support.dynamic/version.pass.cpp +++ /dev/null @@ -1,20 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// <new> - -#include <new> - -#ifndef _LIBCPP_VERSION -#error _LIBCPP_VERSION not defined -#endif - -int main() -{ -} diff --git a/libcxx/test/language.support/support.exception/bad.exception/bad_exception.pass.cpp b/libcxx/test/language.support/support.exception/bad.exception/bad_exception.pass.cpp deleted file mode 100644 index 3baddaa898d..00000000000 --- a/libcxx/test/language.support/support.exception/bad.exception/bad_exception.pass.cpp +++ /dev/null @@ -1,27 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 bad_exception - -#include <exception> -#include <type_traits> -#include <cassert> - -int main() -{ - static_assert((std::is_base_of<std::exception, std::bad_exception>::value), - "std::is_base_of<std::exception, std::bad_exception>::value"); - static_assert(std::is_polymorphic<std::bad_exception>::value, - "std::is_polymorphic<std::bad_exception>::value"); - std::bad_exception b; - std::bad_exception b2 = b; - b2 = b; - const char* w = b2.what(); - assert(w); -} diff --git a/libcxx/test/language.support/support.exception/except.nested/assign.pass.cpp b/libcxx/test/language.support/support.exception/except.nested/assign.pass.cpp deleted file mode 100644 index cbe303c570d..00000000000 --- a/libcxx/test/language.support/support.exception/except.nested/assign.pass.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// <exception> - -// class nested_exception; - -// nested_exception& operator=(const nested_exception&) throw() = default; - -#include <exception> -#include <cassert> - -class A -{ - int data_; -public: - explicit A(int data) : data_(data) {} - - friend bool operator==(const A& x, const A& y) {return x.data_ == y.data_;} -}; - -int main() -{ - { - std::nested_exception e0; - std::nested_exception e; - e = e0; - assert(e.nested_ptr() == nullptr); - } - { - try - { - throw A(2); - assert(false); - } - catch (const A&) - { - std::nested_exception e0; - std::nested_exception e; - e = e0; - assert(e.nested_ptr() != nullptr); - try - { - rethrow_exception(e.nested_ptr()); - assert(false); - } - catch (const A& a) - { - assert(a == A(2)); - } - } - } -} diff --git a/libcxx/test/language.support/support.exception/except.nested/ctor_copy.pass.cpp b/libcxx/test/language.support/support.exception/except.nested/ctor_copy.pass.cpp deleted file mode 100644 index bfa13707a97..00000000000 --- a/libcxx/test/language.support/support.exception/except.nested/ctor_copy.pass.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// <exception> - -// class nested_exception; - -// nested_exception(const nested_exception&) throw() = default; - -#include <exception> -#include <cassert> - -class A -{ - int data_; -public: - explicit A(int data) : data_(data) {} - - friend bool operator==(const A& x, const A& y) {return x.data_ == y.data_;} -}; - -int main() -{ - { - std::nested_exception e0; - std::nested_exception e = e0; - assert(e.nested_ptr() == nullptr); - } - { - try - { - throw A(2); - assert(false); - } - catch (const A&) - { - std::nested_exception e0; - std::nested_exception e = e0; - assert(e.nested_ptr() != nullptr); - try - { - rethrow_exception(e.nested_ptr()); - assert(false); - } - catch (const A& a) - { - assert(a == A(2)); - } - } - } -} diff --git a/libcxx/test/language.support/support.exception/except.nested/ctor_default.pass.cpp b/libcxx/test/language.support/support.exception/except.nested/ctor_default.pass.cpp deleted file mode 100644 index 1422f770eca..00000000000 --- a/libcxx/test/language.support/support.exception/except.nested/ctor_default.pass.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// <exception> - -// class nested_exception; - -// nested_exception() throw(); - -#include <exception> -#include <cassert> - -class A -{ - int data_; -public: - explicit A(int data) : data_(data) {} - - friend bool operator==(const A& x, const A& y) {return x.data_ == y.data_;} -}; - -int main() -{ - { - std::nested_exception e; - assert(e.nested_ptr() == nullptr); - } - { - try - { - throw A(2); - assert(false); - } - catch (const A&) - { - std::nested_exception e; - assert(e.nested_ptr() != nullptr); - try - { - rethrow_exception(e.nested_ptr()); - assert(false); - } - catch (const A& a) - { - assert(a == A(2)); - } - } - } -} diff --git a/libcxx/test/language.support/support.exception/except.nested/rethrow_if_nested.pass.cpp b/libcxx/test/language.support/support.exception/except.nested/rethrow_if_nested.pass.cpp deleted file mode 100644 index 567ed579eb7..00000000000 --- a/libcxx/test/language.support/support.exception/except.nested/rethrow_if_nested.pass.cpp +++ /dev/null @@ -1,89 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// <exception> - -// class nested_exception; - -// template <class E> void rethrow_if_nested(const E& e); - -#include <exception> -#include <cstdlib> -#include <cassert> - -class A -{ - int data_; -public: - explicit A(int data) : data_(data) {} - virtual ~A() _NOEXCEPT {} - - friend bool operator==(const A& x, const A& y) {return x.data_ == y.data_;} -}; - -class B - : public std::nested_exception, - public A -{ -public: - explicit B(int data) : A(data) {} - B(const B& b) : A(b) {} -}; - -int main() -{ - { - try - { - A a(3); - std::rethrow_if_nested(a); - assert(true); - } - catch (...) - { - assert(false); - } - } - { - try - { - throw B(5); - } - catch (const B& b) - { - try - { - throw b; - } - catch (const A& a) - { - try - { - std::rethrow_if_nested(a); - assert(false); - } - catch (const B& b) - { - assert(b == B(5)); - } - } - } - } - { - try - { - std::rethrow_if_nested(1); - assert(true); - } - catch (...) - { - assert(false); - } - } -} diff --git a/libcxx/test/language.support/support.exception/except.nested/rethrow_nested.pass.cpp b/libcxx/test/language.support/support.exception/except.nested/rethrow_nested.pass.cpp deleted file mode 100644 index b07269061b4..00000000000 --- a/libcxx/test/language.support/support.exception/except.nested/rethrow_nested.pass.cpp +++ /dev/null @@ -1,70 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// <exception> - -// class nested_exception; - -// void rethrow_nested [[noreturn]] () const; - -#include <exception> -#include <cstdlib> -#include <cassert> - -class A -{ - int data_; -public: - explicit A(int data) : data_(data) {} - - friend bool operator==(const A& x, const A& y) {return x.data_ == y.data_;} -}; - -void go_quietly() -{ - std::exit(0); -} - -int main() -{ - { - try - { - throw A(2); - assert(false); - } - catch (const A&) - { - const std::nested_exception e; - assert(e.nested_ptr() != nullptr); - try - { - e.rethrow_nested(); - assert(false); - } - catch (const A& a) - { - assert(a == A(2)); - } - } - } - { - try - { - std::set_terminate(go_quietly); - const std::nested_exception e; - e.rethrow_nested(); - assert(false); - } - catch (...) - { - assert(false); - } - } -} diff --git a/libcxx/test/language.support/support.exception/except.nested/throw_with_nested.pass.cpp b/libcxx/test/language.support/support.exception/except.nested/throw_with_nested.pass.cpp deleted file mode 100644 index 887264a5c6f..00000000000 --- a/libcxx/test/language.support/support.exception/except.nested/throw_with_nested.pass.cpp +++ /dev/null @@ -1,103 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// <exception> - -// class nested_exception; - -// template<class T> void throw_with_nested [[noreturn]] (T&& t); - -#include <exception> -#include <cstdlib> -#include <cassert> - -class A -{ - int data_; -public: - explicit A(int data) : data_(data) {} - - friend bool operator==(const A& x, const A& y) {return x.data_ == y.data_;} -}; - -class B - : public std::nested_exception -{ - int data_; -public: - explicit B(int data) : data_(data) {} - - friend bool operator==(const B& x, const B& y) {return x.data_ == y.data_;} -}; - -int main() -{ - { - try - { - A a(3); - std::throw_with_nested(a); - assert(false); - } - catch (const A& a) - { - assert(a == A(3)); - } - } - { - try - { - A a(4); - std::throw_with_nested(a); - assert(false); - } - catch (const std::nested_exception& e) - { - assert(e.nested_ptr() == nullptr); - } - } - { - try - { - B b(5); - std::throw_with_nested(b); - assert(false); - } - catch (const B& b) - { - assert(b == B(5)); - } - } - { - try - { - B b(6); - std::throw_with_nested(b); - assert(false); - } - catch (const std::nested_exception& e) - { - assert(e.nested_ptr() == nullptr); - const B& b = dynamic_cast<const B&>(e); - assert(b == B(6)); - } - } - { - try - { - int i = 7; - std::throw_with_nested(i); - assert(false); - } - catch (int i) - { - assert(i == 7); - } - } -} diff --git a/libcxx/test/language.support/support.exception/exception.terminate/nothing_to_do.pass.cpp b/libcxx/test/language.support/support.exception/exception.terminate/nothing_to_do.pass.cpp deleted file mode 100644 index b58f5c55b64..00000000000 --- a/libcxx/test/language.support/support.exception/exception.terminate/nothing_to_do.pass.cpp +++ /dev/null @@ -1,12 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -int main() -{ -} diff --git a/libcxx/test/language.support/support.exception/exception.terminate/set.terminate/get_terminate.pass.cpp b/libcxx/test/language.support/support.exception/exception.terminate/set.terminate/get_terminate.pass.cpp deleted file mode 100644 index 82ae4aaa88d..00000000000 --- a/libcxx/test/language.support/support.exception/exception.terminate/set.terminate/get_terminate.pass.cpp +++ /dev/null @@ -1,25 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 get_terminate - -#include <exception> -#include <cstdlib> -#include <cassert> - -void f1() {} -void f2() {} - -int main() -{ - std::set_terminate(f1); - assert(std::get_terminate() == f1); - std::set_terminate(f2); - assert(std::get_terminate() == f2); -} diff --git a/libcxx/test/language.support/support.exception/exception.terminate/set.terminate/set_terminate.pass.cpp b/libcxx/test/language.support/support.exception/exception.terminate/set.terminate/set_terminate.pass.cpp deleted file mode 100644 index c4bff603ebb..00000000000 --- a/libcxx/test/language.support/support.exception/exception.terminate/set.terminate/set_terminate.pass.cpp +++ /dev/null @@ -1,23 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 set_terminate - -#include <exception> -#include <cstdlib> -#include <cassert> - -void f1() {} -void f2() {} - -int main() -{ - std::set_terminate(f1); - assert(std::set_terminate(f2) == f1); -} diff --git a/libcxx/test/language.support/support.exception/exception.terminate/terminate.handler/terminate_handler.pass.cpp b/libcxx/test/language.support/support.exception/exception.terminate/terminate.handler/terminate_handler.pass.cpp deleted file mode 100644 index 232ce0a5a88..00000000000 --- a/libcxx/test/language.support/support.exception/exception.terminate/terminate.handler/terminate_handler.pass.cpp +++ /dev/null @@ -1,19 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 terminate_handler - -#include <exception> - -void f() {} - -int main() -{ - std::terminate_handler p = f; -} diff --git a/libcxx/test/language.support/support.exception/exception.terminate/terminate/terminate.pass.cpp b/libcxx/test/language.support/support.exception/exception.terminate/terminate/terminate.pass.cpp deleted file mode 100644 index 3199d9b9ea9..00000000000 --- a/libcxx/test/language.support/support.exception/exception.terminate/terminate/terminate.pass.cpp +++ /dev/null @@ -1,26 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 terminate - -#include <exception> -#include <cstdlib> -#include <cassert> - -void f1() -{ - std::exit(0); -} - -int main() -{ - std::set_terminate(f1); - std::terminate(); - assert(false); -} diff --git a/libcxx/test/language.support/support.exception/exception/exception.pass.cpp b/libcxx/test/language.support/support.exception/exception/exception.pass.cpp deleted file mode 100644 index ad53b6ebfe5..00000000000 --- a/libcxx/test/language.support/support.exception/exception/exception.pass.cpp +++ /dev/null @@ -1,25 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 exception - -#include <exception> -#include <type_traits> -#include <cassert> - -int main() -{ - static_assert(std::is_polymorphic<std::exception>::value, - "std::is_polymorphic<std::exception>::value"); - std::exception b; - std::exception b2 = b; - b2 = b; - const char* w = b2.what(); - assert(w); -} diff --git a/libcxx/test/language.support/support.exception/propagation/current_exception.pass.cpp b/libcxx/test/language.support/support.exception/propagation/current_exception.pass.cpp deleted file mode 100644 index 9ff0d6e2ce4..00000000000 --- a/libcxx/test/language.support/support.exception/propagation/current_exception.pass.cpp +++ /dev/null @@ -1,269 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// <exception> - -// exception_ptr current_exception(); - -#include <exception> -#include <cassert> - -struct A -{ - static int constructed; - - A() {++constructed;} - ~A() {--constructed;} - A(const A&) {++constructed;} -}; - -int A::constructed = 0; - -int main() -{ - { - std::exception_ptr p = std::current_exception(); - assert(p == nullptr); - } - { - try - { - assert(A::constructed == 0); - throw A(); - assert(false); - } - catch (...) - { - assert(A::constructed == 1); - } - assert(A::constructed == 0); - } - assert(A::constructed == 0); - { - std::exception_ptr p2; - try - { - assert(A::constructed == 0); - throw A(); - assert(false); - } - catch (...) - { - std::exception_ptr p = std::current_exception(); - assert(A::constructed == 1); - assert(p != nullptr); - p2 = std::current_exception(); - assert(A::constructed == 1); - assert(p == p2); - } - assert(A::constructed == 1); - } - assert(A::constructed == 0); - { - std::exception_ptr p2; - try - { - assert(A::constructed == 0); - throw A(); - assert(false); - } - catch (A& a) - { - std::exception_ptr p = std::current_exception(); - assert(A::constructed == 1); - assert(p != nullptr); - p2 = std::current_exception(); - assert(A::constructed == 1); - assert(p == p2); - } - assert(A::constructed == 1); - } - assert(A::constructed == 0); - { - std::exception_ptr p2; - try - { - assert(A::constructed == 0); - throw A(); - assert(false); - } - catch (A a) - { - std::exception_ptr p = std::current_exception(); - assert(A::constructed == 2); - assert(p != nullptr); - p2 = std::current_exception(); - assert(A::constructed == 2); - assert(p == p2); - } - assert(A::constructed == 1); - } - assert(A::constructed == 0); - { - try - { - assert(A::constructed == 0); - throw A(); - assert(false); - } - catch (...) - { - assert(A::constructed == 1); - try - { - assert(A::constructed == 1); - throw; - assert(false); - } - catch (...) - { - assert(A::constructed == 1); - } - assert(A::constructed == 1); - } - assert(A::constructed == 0); - } - assert(A::constructed == 0); - { - try - { - assert(A::constructed == 0); - throw A(); - assert(false); - } - catch (...) - { - assert(A::constructed == 1); - try - { - std::exception_ptr p = std::current_exception(); - assert(A::constructed == 1); - assert(p != nullptr); - throw; - assert(false); - } - catch (...) - { - assert(A::constructed == 1); - } - assert(A::constructed == 1); - } - assert(A::constructed == 0); - } - assert(A::constructed == 0); - { - try - { - assert(A::constructed == 0); - throw A(); - assert(false); - } - catch (...) - { - assert(A::constructed == 1); - try - { - assert(A::constructed == 1); - throw; - assert(false); - } - catch (...) - { - std::exception_ptr p = std::current_exception(); - assert(A::constructed == 1); - assert(p != nullptr); - } - assert(A::constructed == 1); - } - assert(A::constructed == 0); - } - assert(A::constructed == 0); - { - try - { - assert(A::constructed == 0); - throw A(); - assert(false); - } - catch (...) - { - assert(A::constructed == 1); - try - { - assert(A::constructed == 1); - throw; - assert(false); - } - catch (...) - { - assert(A::constructed == 1); - } - std::exception_ptr p = std::current_exception(); - assert(A::constructed == 1); - assert(p != nullptr); - } - assert(A::constructed == 0); - } - assert(A::constructed == 0); - { - try - { - assert(A::constructed == 0); - throw A(); - assert(false); - } - catch (...) - { - assert(A::constructed == 1); - try - { - assert(A::constructed == 1); - throw; - assert(false); - } - catch (...) - { - assert(A::constructed == 1); - } - assert(A::constructed == 1); - } - std::exception_ptr p = std::current_exception(); - assert(A::constructed == 0); - assert(p == nullptr); - } - assert(A::constructed == 0); - { - std::exception_ptr p; - try - { - assert(A::constructed == 0); - throw A(); - assert(false); - } - catch (...) - { - assert(A::constructed == 1); - try - { - assert(A::constructed == 1); - throw; - assert(false); - } - catch (...) - { - p = std::current_exception(); - assert(A::constructed == 1); - } - assert(A::constructed == 1); - } - assert(A::constructed == 1); - assert(p != nullptr); - } - assert(A::constructed == 0); -} diff --git a/libcxx/test/language.support/support.exception/propagation/exception_ptr.pass.cpp b/libcxx/test/language.support/support.exception/propagation/exception_ptr.pass.cpp deleted file mode 100644 index 3aa8dcf55bb..00000000000 --- a/libcxx/test/language.support/support.exception/propagation/exception_ptr.pass.cpp +++ /dev/null @@ -1,34 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// <exception> - -// typedef unspecified exception_ptr; - -// exception_ptr shall satisfy the requirements of NullablePointer. - -#include <exception> -#include <cassert> - -int main() -{ - std::exception_ptr p; - assert(p == nullptr); - std::exception_ptr p2 = p; - assert(nullptr == p); - assert(!p); - assert(p2 == p); - p2 = p; - assert(p2 == p); - assert(p2 == nullptr); - std::exception_ptr p3 = nullptr; - assert(p3 == nullptr); - p3 = nullptr; - assert(p3 == nullptr); -} diff --git a/libcxx/test/language.support/support.exception/propagation/make_exception_ptr.pass.cpp b/libcxx/test/language.support/support.exception/propagation/make_exception_ptr.pass.cpp deleted file mode 100644 index 89c9f85d381..00000000000 --- a/libcxx/test/language.support/support.exception/propagation/make_exception_ptr.pass.cpp +++ /dev/null @@ -1,49 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// <exception> - -// template<class E> exception_ptr make_exception_ptr(E e); - -#include <exception> -#include <cassert> - -struct A -{ - static int constructed; - int data_; - - A(int data = 0) : data_(data) {++constructed;} - ~A() {--constructed;} - A(const A& a) : data_(a.data_) {++constructed;} -}; - -int A::constructed = 0; - -int main() -{ - { - std::exception_ptr p = std::make_exception_ptr(A(5)); - try - { - std::rethrow_exception(p); - assert(false); - } - catch (const A& a) - { - assert(A::constructed == 1); - assert(p != nullptr); - p = nullptr; - assert(p == nullptr); - assert(a.data_ == 5); - assert(A::constructed == 1); - } - assert(A::constructed == 0); - } -} diff --git a/libcxx/test/language.support/support.exception/propagation/rethrow_exception.pass.cpp b/libcxx/test/language.support/support.exception/propagation/rethrow_exception.pass.cpp deleted file mode 100644 index e47a5989d41..00000000000 --- a/libcxx/test/language.support/support.exception/propagation/rethrow_exception.pass.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// <exception> - -// void rethrow_exception [[noreturn]] (exception_ptr p); - -#include <exception> -#include <cassert> - -struct A -{ - static int constructed; - int data_; - - A(int data = 0) : data_(data) {++constructed;} - ~A() {--constructed;} - A(const A& a) : data_(a.data_) {++constructed;} -}; - -int A::constructed = 0; - -int main() -{ - { - std::exception_ptr p; - try - { - throw A(3); - } - catch (...) - { - p = std::current_exception(); - } - try - { - std::rethrow_exception(p); - assert(false); - } - catch (const A& a) - { - assert(A::constructed == 1); - assert(p != nullptr); - p = nullptr; - assert(p == nullptr); - assert(a.data_ == 3); - assert(A::constructed == 1); - } - assert(A::constructed == 0); - } -} diff --git a/libcxx/test/language.support/support.exception/uncaught/uncaught_exception.pass.cpp b/libcxx/test/language.support/support.exception/uncaught/uncaught_exception.pass.cpp deleted file mode 100644 index 22d8d8e982a..00000000000 --- a/libcxx/test/language.support/support.exception/uncaught/uncaught_exception.pass.cpp +++ /dev/null @@ -1,45 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 uncaught_exception - -#include <exception> -#include <cassert> - -struct A -{ - ~A() - { - assert(std::uncaught_exception()); - } -}; - -struct B -{ - B() - { - // http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#475 - assert(!std::uncaught_exception()); - } -}; - -int main() -{ - try - { - A a; - assert(!std::uncaught_exception()); - throw B(); - } - catch (...) - { - assert(!std::uncaught_exception()); - } - assert(!std::uncaught_exception()); -} diff --git a/libcxx/test/language.support/support.exception/version.pass.cpp b/libcxx/test/language.support/support.exception/version.pass.cpp deleted file mode 100644 index acdedbb31fe..00000000000 --- a/libcxx/test/language.support/support.exception/version.pass.cpp +++ /dev/null @@ -1,20 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// <exception> - -#include <exception> - -#ifndef _LIBCPP_VERSION -#error _LIBCPP_VERSION not defined -#endif - -int main() -{ -} diff --git a/libcxx/test/language.support/support.general/nothing_to_do.pass.cpp b/libcxx/test/language.support/support.general/nothing_to_do.pass.cpp deleted file mode 100644 index b58f5c55b64..00000000000 --- a/libcxx/test/language.support/support.general/nothing_to_do.pass.cpp +++ /dev/null @@ -1,12 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -int main() -{ -} diff --git a/libcxx/test/language.support/support.initlist/support.initlist.access/access.pass.cpp b/libcxx/test/language.support/support.initlist/support.initlist.access/access.pass.cpp deleted file mode 100644 index 2f0720639c6..00000000000 --- a/libcxx/test/language.support/support.initlist/support.initlist.access/access.pass.cpp +++ /dev/null @@ -1,62 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// template<class E> class initializer_list; - -// const E* begin() const; -// const E* end() const; -// size_t size() const; - -#include <initializer_list> -#include <cassert> - -#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS - -struct A -{ - A(std::initializer_list<int> il) - { - const int* b = il.begin(); - const int* e = il.end(); - assert(il.size() == 3); - assert(e - b == il.size()); - assert(*b++ == 3); - assert(*b++ == 2); - assert(*b++ == 1); - } -}; - -#if _LIBCPP_STD_VER > 11 -struct B -{ - constexpr B(std::initializer_list<int> il) - { - const int* b = il.begin(); - const int* e = il.end(); - assert(il.size() == 3); - assert(e - b == il.size()); - assert(*b++ == 3); - assert(*b++ == 2); - assert(*b++ == 1); - } -}; - -#endif // _LIBCPP_STD_VER > 11 - -#endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS - -int main() -{ -#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS - A test1 = {3, 2, 1}; -#endif -#if _LIBCPP_STD_VER > 11 - constexpr B test2 = {3, 2, 1}; -#endif // _LIBCPP_STD_VER > 11 -} diff --git a/libcxx/test/language.support/support.initlist/support.initlist.cons/default.pass.cpp b/libcxx/test/language.support/support.initlist/support.initlist.cons/default.pass.cpp deleted file mode 100644 index 7822a62206a..00000000000 --- a/libcxx/test/language.support/support.initlist/support.initlist.cons/default.pass.cpp +++ /dev/null @@ -1,29 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// template<class E> class initializer_list; - -// initializer_list(); - -#include <initializer_list> -#include <cassert> - -struct A {}; - -int main() -{ -#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS - std::initializer_list<A> il; - assert(il.size() == 0); -#endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS -#if _LIBCPP_STD_VER > 11 - constexpr std::initializer_list<A> il2; - static_assert(il2.size() == 0, ""); -#endif // _LIBCPP_STD_VER > 11 -} diff --git a/libcxx/test/language.support/support.initlist/support.initlist.range/begin_end.pass.cpp b/libcxx/test/language.support/support.initlist/support.initlist.range/begin_end.pass.cpp deleted file mode 100644 index 5fcd28f9156..00000000000 --- a/libcxx/test/language.support/support.initlist/support.initlist.range/begin_end.pass.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// <initializer_list> - -// template<class E> const E* begin(initializer_list<E> il); - -#include <initializer_list> -#include <cassert> - -#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS - -struct A -{ - A(std::initializer_list<int> il) - { - const int* b = begin(il); - const int* e = end(il); - assert(il.size() == 3); - assert(e - b == il.size()); - assert(*b++ == 3); - assert(*b++ == 2); - assert(*b++ == 1); - } -}; - -#if _LIBCPP_STD_VER > 11 -struct B -{ - constexpr B(std::initializer_list<int> il) - { - const int* b = begin(il); - const int* e = end(il); - assert(il.size() == 3); - assert(e - b == il.size()); - assert(*b++ == 3); - assert(*b++ == 2); - assert(*b++ == 1); - } -}; - -#endif // _LIBCPP_STD_VER > 11 -#endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS - -int main() -{ -#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS - A test1 = {3, 2, 1}; -#endif -#if _LIBCPP_STD_VER > 11 - constexpr B test2 = {3, 2, 1}; -#endif // _LIBCPP_STD_VER > 11 -} diff --git a/libcxx/test/language.support/support.initlist/types.pass.cpp b/libcxx/test/language.support/support.initlist/types.pass.cpp deleted file mode 100644 index 835830055ff..00000000000 --- a/libcxx/test/language.support/support.initlist/types.pass.cpp +++ /dev/null @@ -1,37 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// template<class E> -// class initializer_list -// { -// public: -// typedef E value_type; -// typedef const E& reference; -// typedef const E& const_reference; -// typedef size_t size_type; -// -// typedef const E* iterator; -// typedef const E* const_iterator; - -#include <initializer_list> -#include <type_traits> - -struct A {}; - -int main() -{ -#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS - static_assert((std::is_same<std::initializer_list<A>::value_type, A>::value), ""); - static_assert((std::is_same<std::initializer_list<A>::reference, const A&>::value), ""); - static_assert((std::is_same<std::initializer_list<A>::const_reference, const A&>::value), ""); - static_assert((std::is_same<std::initializer_list<A>::size_type, std::size_t>::value), ""); - static_assert((std::is_same<std::initializer_list<A>::iterator, const A*>::value), ""); - static_assert((std::is_same<std::initializer_list<A>::const_iterator, const A*>::value), ""); -#endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS -} diff --git a/libcxx/test/language.support/support.initlist/version.pass.cpp b/libcxx/test/language.support/support.initlist/version.pass.cpp deleted file mode 100644 index f3f08cd1f86..00000000000 --- a/libcxx/test/language.support/support.initlist/version.pass.cpp +++ /dev/null @@ -1,20 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// <initializer_list> - -#include <initializer_list> - -#ifndef _LIBCPP_VERSION -#error _LIBCPP_VERSION not defined -#endif - -int main() -{ -} diff --git a/libcxx/test/language.support/support.limits/c.limits/cfloat.pass.cpp b/libcxx/test/language.support/support.limits/c.limits/cfloat.pass.cpp deleted file mode 100644 index 5f63af68f70..00000000000 --- a/libcxx/test/language.support/support.limits/c.limits/cfloat.pass.cpp +++ /dev/null @@ -1,140 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 cfloat - -#include <cfloat> - -#ifndef FLT_ROUNDS -#error FLT_ROUNDS not defined -#endif - -#ifndef FLT_EVAL_METHOD -#error FLT_EVAL_METHOD not defined -#endif - -#ifndef FLT_RADIX -#error FLT_RADIX not defined -#endif - -#ifndef FLT_MANT_DIG -#error FLT_MANT_DIG not defined -#endif - -#ifndef DBL_MANT_DIG -#error DBL_MANT_DIG not defined -#endif - -#ifndef LDBL_MANT_DIG -#error LDBL_MANT_DIG not defined -#endif - -#ifndef DECIMAL_DIG -#error DECIMAL_DIG not defined -#endif - -#ifndef FLT_DIG -#error FLT_DIG not defined -#endif - -#ifndef DBL_DIG -#error DBL_DIG not defined -#endif - -#ifndef LDBL_DIG -#error LDBL_DIG not defined -#endif - -#ifndef FLT_MIN_EXP -#error FLT_MIN_EXP not defined -#endif - -#ifndef DBL_MIN_EXP -#error DBL_MIN_EXP not defined -#endif - -#ifndef LDBL_MIN_EXP -#error LDBL_MIN_EXP not defined -#endif - -#ifndef FLT_MIN_10_EXP -#error FLT_MIN_10_EXP not defined -#endif - -#ifndef DBL_MIN_10_EXP -#error DBL_MIN_10_EXP not defined -#endif - -#ifndef LDBL_MIN_10_EXP -#error LDBL_MIN_10_EXP not defined -#endif - -#ifndef FLT_MAX_EXP -#error FLT_MAX_EXP not defined -#endif - -#ifndef DBL_MAX_EXP -#error DBL_MAX_EXP not defined -#endif - -#ifndef LDBL_MAX_EXP -#error LDBL_MAX_EXP not defined -#endif - -#ifndef FLT_MAX_10_EXP -#error FLT_MAX_10_EXP not defined -#endif - -#ifndef DBL_MAX_10_EXP -#error DBL_MAX_10_EXP not defined -#endif - -#ifndef LDBL_MAX_10_EXP -#error LDBL_MAX_10_EXP not defined -#endif - -#ifndef FLT_MAX -#error FLT_MAX not defined -#endif - -#ifndef DBL_MAX -#error DBL_MAX not defined -#endif - -#ifndef LDBL_MAX -#error LDBL_MAX not defined -#endif - -#ifndef FLT_EPSILON -#error FLT_EPSILON not defined -#endif - -#ifndef DBL_EPSILON -#error DBL_EPSILON not defined -#endif - -#ifndef LDBL_EPSILON -#error LDBL_EPSILON not defined -#endif - -#ifndef FLT_MIN -#error FLT_MIN not defined -#endif - -#ifndef DBL_MIN -#error DBL_MIN not defined -#endif - -#ifndef LDBL_MIN -#error LDBL_MIN not defined -#endif - -int main() -{ -} diff --git a/libcxx/test/language.support/support.limits/c.limits/climits.pass.cpp b/libcxx/test/language.support/support.limits/c.limits/climits.pass.cpp deleted file mode 100644 index 5e31b494bd1..00000000000 --- a/libcxx/test/language.support/support.limits/c.limits/climits.pass.cpp +++ /dev/null @@ -1,92 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 climits - -#include <climits> - -#ifndef CHAR_BIT -#error CHAR_BIT not defined -#endif - -#ifndef SCHAR_MIN -#error SCHAR_MIN not defined -#endif - -#ifndef SCHAR_MAX -#error SCHAR_MAX not defined -#endif - -#ifndef UCHAR_MAX -#error UCHAR_MAX not defined -#endif - -#ifndef CHAR_MIN -#error CHAR_MIN not defined -#endif - -#ifndef CHAR_MAX -#error CHAR_MAX not defined -#endif - -#ifndef MB_LEN_MAX -#error MB_LEN_MAX not defined -#endif - -#ifndef SHRT_MIN -#error SHRT_MIN not defined -#endif - -#ifndef SHRT_MAX -#error SHRT_MAX not defined -#endif - -#ifndef USHRT_MAX -#error USHRT_MAX not defined -#endif - -#ifndef INT_MIN -#error INT_MIN not defined -#endif - -#ifndef INT_MAX -#error INT_MAX not defined -#endif - -#ifndef UINT_MAX -#error UINT_MAX not defined -#endif - -#ifndef LONG_MIN -#error LONG_MIN not defined -#endif - -#ifndef LONG_MAX -#error LONG_MAX not defined -#endif - -#ifndef ULONG_MAX -#error ULONG_MAX not defined -#endif - -#ifndef LLONG_MIN -#error LLONG_MIN not defined -#endif - -#ifndef LLONG_MAX -#error LLONG_MAX not defined -#endif - -#ifndef ULLONG_MAX -#error ULLONG_MAX not defined -#endif - -int main() -{ -} diff --git a/libcxx/test/language.support/support.limits/c.limits/version_cfloat.pass.cpp b/libcxx/test/language.support/support.limits/c.limits/version_cfloat.pass.cpp deleted file mode 100644 index 19b463199cd..00000000000 --- a/libcxx/test/language.support/support.limits/c.limits/version_cfloat.pass.cpp +++ /dev/null @@ -1,20 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// <cfloat> - -#include <cfloat> - -#ifndef _LIBCPP_VERSION -#error _LIBCPP_VERSION not defined -#endif - -int main() -{ -} diff --git a/libcxx/test/language.support/support.limits/c.limits/version_climits.pass.cpp b/libcxx/test/language.support/support.limits/c.limits/version_climits.pass.cpp deleted file mode 100644 index 3fe07a5174b..00000000000 --- a/libcxx/test/language.support/support.limits/c.limits/version_climits.pass.cpp +++ /dev/null @@ -1,20 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// <climits> - -#include <climits> - -#ifndef _LIBCPP_VERSION -#error _LIBCPP_VERSION not defined -#endif - -int main() -{ -} diff --git a/libcxx/test/language.support/support.limits/limits/denorm.style/check_values.pass.cpp b/libcxx/test/language.support/support.limits/limits/denorm.style/check_values.pass.cpp deleted file mode 100644 index c6731fcc8e9..00000000000 --- a/libcxx/test/language.support/support.limits/limits/denorm.style/check_values.pass.cpp +++ /dev/null @@ -1,38 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// float_round_style - -#include <limits> - -typedef char one; -struct two {one _[2];}; - -one test(std::float_round_style); -two test(int); - -int main() -{ - static_assert(std::round_indeterminate == -1, - "std::round_indeterminate == -1"); - static_assert(std::round_toward_zero == 0, - "std::round_toward_zero == 0"); - static_assert(std::round_to_nearest == 1, - "std::round_to_nearest == 1"); - static_assert(std::round_toward_infinity == 2, - "std::round_toward_infinity == 2"); - static_assert(std::round_toward_neg_infinity == 3, - "std::round_toward_neg_infinity == 3"); - static_assert(sizeof(test(std::round_to_nearest)) == 1, - "sizeof(test(std::round_to_nearest)) == 1"); - static_assert(sizeof(test(1)) == 2, - "sizeof(test(1)) == 2"); -} diff --git a/libcxx/test/language.support/support.limits/limits/is_specialized.pass.cpp b/libcxx/test/language.support/support.limits/limits/is_specialized.pass.cpp deleted file mode 100644 index ff5c1a2c0b8..00000000000 --- a/libcxx/test/language.support/support.limits/limits/is_specialized.pass.cpp +++ /dev/null @@ -1,71 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// Specializations shall be provided for each arithmetic type, both floating -// point and integer, including bool. The member is_specialized shall be -// true for all such specializations of numeric_limits. - -// Non-arithmetic standard types, such as complex<T> (26.3.2), shall not -// have specializations. - -// From [numeric.limits]: - -// The value of each member of a specialization of numeric_limits on a cv -// -qualified type cv T shall be equal to the value of the corresponding -// member of the specialization on the unqualified type T. - -// More convenient to test it here. - -#include <limits> -#include <complex> - -template <class T> -void test() -{ - static_assert(std::numeric_limits<T>::is_specialized, - "std::numeric_limits<T>::is_specialized"); - static_assert(std::numeric_limits<const T>::is_specialized, - "std::numeric_limits<const T>::is_specialized"); - static_assert(std::numeric_limits<volatile T>::is_specialized, - "std::numeric_limits<volatile T>::is_specialized"); - static_assert(std::numeric_limits<const volatile T>::is_specialized, - "std::numeric_limits<const volatile T>::is_specialized"); -} - -int main() -{ - test<bool>(); - test<char>(); - test<wchar_t>(); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t>(); - test<char32_t>(); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<signed char>(); - test<unsigned char>(); - test<signed short>(); - test<unsigned short>(); - test<signed int>(); - test<unsigned int>(); - test<signed long>(); - test<unsigned long>(); - test<signed long long>(); - test<unsigned long long>(); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t>(); - test<__uint128_t>(); -#endif - test<float>(); - test<double>(); - test<long double>(); - static_assert(!std::numeric_limits<std::complex<double> >::is_specialized, - "!std::numeric_limits<std::complex<double> >::is_specialized"); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/const_data_members.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/const_data_members.pass.cpp deleted file mode 100644 index bbead15da64..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/const_data_members.pass.cpp +++ /dev/null @@ -1,199 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -#include <limits> - -/* -<limits>: - numeric_limits - is_specialized - digits - digits10 - max_digits10 - is_signed - is_integer - is_exact - radix - min_exponent - min_exponent10 - max_exponent - max_exponent10 - has_infinity - has_quiet_NaN - has_signaling_NaN - has_denorm - has_denorm_loss - is_iec559 - is_bounded - is_modulo - traps - tinyness_before - round_style -*/ - -template <class _Tp> -void test(const _Tp &) {} - -#define TEST_NUMERIC_LIMITS(type) \ - test(std::numeric_limits<type>::is_specialized); \ - test(std::numeric_limits<type>::digits); \ - test(std::numeric_limits<type>::digits10); \ - test(std::numeric_limits<type>::max_digits10); \ - test(std::numeric_limits<type>::is_signed); \ - test(std::numeric_limits<type>::is_integer); \ - test(std::numeric_limits<type>::is_exact); \ - test(std::numeric_limits<type>::radix); \ - test(std::numeric_limits<type>::min_exponent); \ - test(std::numeric_limits<type>::min_exponent10); \ - test(std::numeric_limits<type>::max_exponent); \ - test(std::numeric_limits<type>::max_exponent10); \ - test(std::numeric_limits<type>::has_infinity); \ - test(std::numeric_limits<type>::has_quiet_NaN); \ - test(std::numeric_limits<type>::has_signaling_NaN); \ - test(std::numeric_limits<type>::has_denorm); \ - test(std::numeric_limits<type>::has_denorm_loss); \ - test(std::numeric_limits<type>::is_iec559); \ - test(std::numeric_limits<type>::is_bounded); \ - test(std::numeric_limits<type>::is_modulo); \ - test(std::numeric_limits<type>::traps); \ - test(std::numeric_limits<type>::tinyness_before); \ - test(std::numeric_limits<type>::round_style); - -struct other {}; - -int main() -{ - // bool - TEST_NUMERIC_LIMITS(bool) - TEST_NUMERIC_LIMITS(const bool) - TEST_NUMERIC_LIMITS(volatile bool) - TEST_NUMERIC_LIMITS(const volatile bool) - - // char - TEST_NUMERIC_LIMITS(char) - TEST_NUMERIC_LIMITS(const char) - TEST_NUMERIC_LIMITS(volatile char) - TEST_NUMERIC_LIMITS(const volatile char) - - // signed char - TEST_NUMERIC_LIMITS(signed char) - TEST_NUMERIC_LIMITS(const signed char) - TEST_NUMERIC_LIMITS(volatile signed char) - TEST_NUMERIC_LIMITS(const volatile signed char) - - // unsigned char - TEST_NUMERIC_LIMITS(unsigned char) - TEST_NUMERIC_LIMITS(const unsigned char) - TEST_NUMERIC_LIMITS(volatile unsigned char) - TEST_NUMERIC_LIMITS(const volatile unsigned char) - - // wchar_t - TEST_NUMERIC_LIMITS(wchar_t) - TEST_NUMERIC_LIMITS(const wchar_t) - TEST_NUMERIC_LIMITS(volatile wchar_t) - TEST_NUMERIC_LIMITS(const volatile wchar_t) - - // char16_t - TEST_NUMERIC_LIMITS(char16_t) - TEST_NUMERIC_LIMITS(const char16_t) - TEST_NUMERIC_LIMITS(volatile char16_t) - TEST_NUMERIC_LIMITS(const volatile char16_t) - - // char32_t - TEST_NUMERIC_LIMITS(char32_t) - TEST_NUMERIC_LIMITS(const char32_t) - TEST_NUMERIC_LIMITS(volatile char32_t) - TEST_NUMERIC_LIMITS(const volatile char32_t) - - // short - TEST_NUMERIC_LIMITS(short) - TEST_NUMERIC_LIMITS(const short) - TEST_NUMERIC_LIMITS(volatile short) - TEST_NUMERIC_LIMITS(const volatile short) - - // int - TEST_NUMERIC_LIMITS(int) - TEST_NUMERIC_LIMITS(const int) - TEST_NUMERIC_LIMITS(volatile int) - TEST_NUMERIC_LIMITS(const volatile int) - - // long - TEST_NUMERIC_LIMITS(long) - TEST_NUMERIC_LIMITS(const long) - TEST_NUMERIC_LIMITS(volatile long) - TEST_NUMERIC_LIMITS(const volatile long) - -#ifndef _LIBCPP_HAS_NO_INT128 - TEST_NUMERIC_LIMITS(__int128_t) - TEST_NUMERIC_LIMITS(const __int128_t) - TEST_NUMERIC_LIMITS(volatile __int128_t) - TEST_NUMERIC_LIMITS(const volatile __int128_t) -#endif - - // long long - TEST_NUMERIC_LIMITS(long long) - TEST_NUMERIC_LIMITS(const long long) - TEST_NUMERIC_LIMITS(volatile long long) - TEST_NUMERIC_LIMITS(const volatile long long) - - // unsigned short - TEST_NUMERIC_LIMITS(unsigned short) - TEST_NUMERIC_LIMITS(const unsigned short) - TEST_NUMERIC_LIMITS(volatile unsigned short) - TEST_NUMERIC_LIMITS(const volatile unsigned short) - - // unsigned int - TEST_NUMERIC_LIMITS(unsigned int) - TEST_NUMERIC_LIMITS(const unsigned int) - TEST_NUMERIC_LIMITS(volatile unsigned int) - TEST_NUMERIC_LIMITS(const volatile unsigned int) - - // unsigned long - TEST_NUMERIC_LIMITS(unsigned long) - TEST_NUMERIC_LIMITS(const unsigned long) - TEST_NUMERIC_LIMITS(volatile unsigned long) - TEST_NUMERIC_LIMITS(const volatile unsigned long) - - // unsigned long long - TEST_NUMERIC_LIMITS(unsigned long long) - TEST_NUMERIC_LIMITS(const unsigned long long) - TEST_NUMERIC_LIMITS(volatile unsigned long long) - TEST_NUMERIC_LIMITS(const volatile unsigned long long) - -#ifndef _LIBCPP_HAS_NO_INT128 - TEST_NUMERIC_LIMITS(__uint128_t) - TEST_NUMERIC_LIMITS(const __uint128_t) - TEST_NUMERIC_LIMITS(volatile __uint128_t) - TEST_NUMERIC_LIMITS(const volatile __uint128_t) -#endif - - // float - TEST_NUMERIC_LIMITS(float) - TEST_NUMERIC_LIMITS(const float) - TEST_NUMERIC_LIMITS(volatile float) - TEST_NUMERIC_LIMITS(const volatile float) - - // double - TEST_NUMERIC_LIMITS(double) - TEST_NUMERIC_LIMITS(const double) - TEST_NUMERIC_LIMITS(volatile double) - TEST_NUMERIC_LIMITS(const volatile double) - - // long double - TEST_NUMERIC_LIMITS(long double) - TEST_NUMERIC_LIMITS(const long double) - TEST_NUMERIC_LIMITS(volatile long double) - TEST_NUMERIC_LIMITS(const volatile long double) - - // other - TEST_NUMERIC_LIMITS(other) - TEST_NUMERIC_LIMITS(const other) - TEST_NUMERIC_LIMITS(volatile other) - TEST_NUMERIC_LIMITS(const volatile other) -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/denorm_min.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/denorm_min.pass.cpp deleted file mode 100644 index a452d4e9949..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/denorm_min.pass.cpp +++ /dev/null @@ -1,53 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// denorm_min() - -#include <limits> -#include <cassert> - -template <class T> -void -test(T expected) -{ - assert(std::numeric_limits<T>::denorm_min() == expected); - assert(std::numeric_limits<const T>::denorm_min() == expected); - assert(std::numeric_limits<volatile T>::denorm_min() == expected); - assert(std::numeric_limits<const volatile T>::denorm_min() == expected); -} - -int main() -{ - test<bool>(false); - test<char>(0); - test<signed char>(0); - test<unsigned char>(0); - test<wchar_t>(0); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t>(0); - test<char32_t>(0); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short>(0); - test<unsigned short>(0); - test<int>(0); - test<unsigned int>(0); - test<long>(0); - test<unsigned long>(0); - test<long long>(0); - test<unsigned long long>(0); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t>(0); - test<__uint128_t>(0); -#endif - test<float>(__FLT_DENORM_MIN__); - test<double>(__DBL_DENORM_MIN__); - test<long double>(__LDBL_DENORM_MIN__); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/digits.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/digits.pass.cpp deleted file mode 100644 index 2dfea084b11..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/digits.pass.cpp +++ /dev/null @@ -1,53 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// digits - -#include <limits> -#include <cfloat> - -template <class T, int expected> -void -test() -{ - static_assert(std::numeric_limits<T>::digits == expected, "digits test 1"); - static_assert(std::numeric_limits<const T>::digits == expected, "digits test 2"); - static_assert(std::numeric_limits<volatile T>::digits == expected, "digits test 3"); - static_assert(std::numeric_limits<const volatile T>::digits == expected, "digits test 4"); -} - -int main() -{ - test<bool, 1>(); - test<char, std::numeric_limits<char>::is_signed ? 7 : 8>(); - test<signed char, 7>(); - test<unsigned char, 8>(); - test<wchar_t, std::numeric_limits<wchar_t>::is_signed ? sizeof(wchar_t)*8-1 : sizeof(wchar_t)*8>(); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t, 16>(); - test<char32_t, 32>(); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short, 15>(); - test<unsigned short, 16>(); - test<int, 31>(); - test<unsigned int, 32>(); - test<long, sizeof(long) == 4 ? 31 : 63>(); - test<unsigned long, sizeof(long) == 4 ? 32 : 64>(); - test<long long, 63>(); - test<unsigned long long, 64>(); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t, 127>(); - test<__uint128_t, 128>(); -#endif - test<float, FLT_MANT_DIG>(); - test<double, DBL_MANT_DIG>(); - test<long double, LDBL_MANT_DIG>(); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/digits10.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/digits10.pass.cpp deleted file mode 100644 index 2c5302cd633..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/digits10.pass.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// digits10 - -#include <limits> -#include <cfloat> - -template <class T, int expected> -void -test() -{ - static_assert(std::numeric_limits<T>::digits10 == expected, "digits10 test 1"); - static_assert(std::numeric_limits<T>::is_bounded, "digits10 test 5"); - static_assert(std::numeric_limits<const T>::digits10 == expected, "digits10 test 2"); - static_assert(std::numeric_limits<const T>::is_bounded, "digits10 test 6"); - static_assert(std::numeric_limits<volatile T>::digits10 == expected, "digits10 test 3"); - static_assert(std::numeric_limits<volatile T>::is_bounded, "digits10 test 7"); - static_assert(std::numeric_limits<const volatile T>::digits10 == expected, "digits10 test 4"); - static_assert(std::numeric_limits<const volatile T>::is_bounded, "digits10 test 8"); -} - -int main() -{ - test<bool, 0>(); - test<char, 2>(); - test<signed char, 2>(); - test<unsigned char, 2>(); - test<wchar_t, 5*sizeof(wchar_t)/2-1>(); // 4 -> 9 and 2 -> 4 -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t, 4>(); - test<char32_t, 9>(); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short, 4>(); - test<unsigned short, 4>(); - test<int, 9>(); - test<unsigned int, 9>(); - test<long, sizeof(long) == 4 ? 9 : 18>(); - test<unsigned long, sizeof(long) == 4 ? 9 : 19>(); - test<long long, 18>(); - test<unsigned long long, 19>(); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t, 38>(); - test<__uint128_t, 38>(); -#endif - test<float, FLT_DIG>(); - test<double, DBL_DIG>(); - test<long double, LDBL_DIG>(); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/epsilon.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/epsilon.pass.cpp deleted file mode 100644 index 0cce4848187..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/epsilon.pass.cpp +++ /dev/null @@ -1,54 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// epsilon() - -#include <limits> -#include <cfloat> -#include <cassert> - -template <class T> -void -test(T expected) -{ - assert(std::numeric_limits<T>::epsilon() == expected); - assert(std::numeric_limits<const T>::epsilon() == expected); - assert(std::numeric_limits<volatile T>::epsilon() == expected); - assert(std::numeric_limits<const volatile T>::epsilon() == expected); -} - -int main() -{ - test<bool>(false); - test<char>(0); - test<signed char>(0); - test<unsigned char>(0); - test<wchar_t>(0); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t>(0); - test<char32_t>(0); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short>(0); - test<unsigned short>(0); - test<int>(0); - test<unsigned int>(0); - test<long>(0); - test<unsigned long>(0); - test<long long>(0); - test<unsigned long long>(0); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t>(0); - test<__uint128_t>(0); -#endif - test<float>(FLT_EPSILON); - test<double>(DBL_EPSILON); - test<long double>(LDBL_EPSILON); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/has_denorm.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/has_denorm.pass.cpp deleted file mode 100644 index e61802054d1..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/has_denorm.pass.cpp +++ /dev/null @@ -1,52 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// has_denorm - -#include <limits> - -template <class T, std::float_denorm_style expected> -void -test() -{ - static_assert(std::numeric_limits<T>::has_denorm == expected, "has_denorm test 1"); - static_assert(std::numeric_limits<const T>::has_denorm == expected, "has_denorm test 2"); - static_assert(std::numeric_limits<volatile T>::has_denorm == expected, "has_denorm test 3"); - static_assert(std::numeric_limits<const volatile T>::has_denorm == expected, "has_denorm test 4"); -} - -int main() -{ - test<bool, std::denorm_absent>(); - test<char, std::denorm_absent>(); - test<signed char, std::denorm_absent>(); - test<unsigned char, std::denorm_absent>(); - test<wchar_t, std::denorm_absent>(); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t, std::denorm_absent>(); - test<char32_t, std::denorm_absent>(); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short, std::denorm_absent>(); - test<unsigned short, std::denorm_absent>(); - test<int, std::denorm_absent>(); - test<unsigned int, std::denorm_absent>(); - test<long, std::denorm_absent>(); - test<unsigned long, std::denorm_absent>(); - test<long long, std::denorm_absent>(); - test<unsigned long long, std::denorm_absent>(); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t, std::denorm_absent>(); - test<__uint128_t, std::denorm_absent>(); -#endif - test<float, std::denorm_present>(); - test<double, std::denorm_present>(); - test<long double, std::denorm_present>(); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/has_denorm_loss.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/has_denorm_loss.pass.cpp deleted file mode 100644 index 660ecf5036d..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/has_denorm_loss.pass.cpp +++ /dev/null @@ -1,52 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// has_denorm_loss - -#include <limits> - -template <class T, bool expected> -void -test() -{ - static_assert(std::numeric_limits<T>::has_denorm_loss == expected, "has_denorm_loss test 1"); - static_assert(std::numeric_limits<const T>::has_denorm_loss == expected, "has_denorm_loss test 2"); - static_assert(std::numeric_limits<volatile T>::has_denorm_loss == expected, "has_denorm_loss test 3"); - static_assert(std::numeric_limits<const volatile T>::has_denorm_loss == expected, "has_denorm_loss test 4"); -} - -int main() -{ - test<bool, false>(); - test<char, false>(); - test<signed char, false>(); - test<unsigned char, false>(); - test<wchar_t, false>(); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t, false>(); - test<char32_t, false>(); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short, false>(); - test<unsigned short, false>(); - test<int, false>(); - test<unsigned int, false>(); - test<long, false>(); - test<unsigned long, false>(); - test<long long, false>(); - test<unsigned long long, false>(); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t, false>(); - test<__uint128_t, false>(); -#endif - test<float, false>(); - test<double, false>(); - test<long double, false>(); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/has_infinity.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/has_infinity.pass.cpp deleted file mode 100644 index f8ca2059d46..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/has_infinity.pass.cpp +++ /dev/null @@ -1,52 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// has_infinity - -#include <limits> - -template <class T, bool expected> -void -test() -{ - static_assert(std::numeric_limits<T>::has_infinity == expected, "has_infinity test 1"); - static_assert(std::numeric_limits<const T>::has_infinity == expected, "has_infinity test 2"); - static_assert(std::numeric_limits<volatile T>::has_infinity == expected, "has_infinity test 3"); - static_assert(std::numeric_limits<const volatile T>::has_infinity == expected, "has_infinity test 4"); -} - -int main() -{ - test<bool, false>(); - test<char, false>(); - test<signed char, false>(); - test<unsigned char, false>(); - test<wchar_t, false>(); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t, false>(); - test<char32_t, false>(); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short, false>(); - test<unsigned short, false>(); - test<int, false>(); - test<unsigned int, false>(); - test<long, false>(); - test<unsigned long, false>(); - test<long long, false>(); - test<unsigned long long, false>(); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t, false>(); - test<__uint128_t, false>(); -#endif - test<float, true>(); - test<double, true>(); - test<long double, true>(); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/has_quiet_NaN.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/has_quiet_NaN.pass.cpp deleted file mode 100644 index 7592171695f..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/has_quiet_NaN.pass.cpp +++ /dev/null @@ -1,52 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// has_quiet_NaN - -#include <limits> - -template <class T, bool expected> -void -test() -{ - static_assert(std::numeric_limits<T>::has_quiet_NaN == expected, "has_quiet_NaN test 1"); - static_assert(std::numeric_limits<const T>::has_quiet_NaN == expected, "has_quiet_NaN test 2"); - static_assert(std::numeric_limits<volatile T>::has_quiet_NaN == expected, "has_quiet_NaN test 3"); - static_assert(std::numeric_limits<const volatile T>::has_quiet_NaN == expected, "has_quiet_NaN test 4"); -} - -int main() -{ - test<bool, false>(); - test<char, false>(); - test<signed char, false>(); - test<unsigned char, false>(); - test<wchar_t, false>(); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t, false>(); - test<char32_t, false>(); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short, false>(); - test<unsigned short, false>(); - test<int, false>(); - test<unsigned int, false>(); - test<long, false>(); - test<unsigned long, false>(); - test<long long, false>(); - test<unsigned long long, false>(); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t, false>(); - test<__uint128_t, false>(); -#endif - test<float, true>(); - test<double, true>(); - test<long double, true>(); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/has_signaling_NaN.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/has_signaling_NaN.pass.cpp deleted file mode 100644 index d68cd5d7887..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/has_signaling_NaN.pass.cpp +++ /dev/null @@ -1,52 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// has_signaling_NaN - -#include <limits> - -template <class T, bool expected> -void -test() -{ - static_assert(std::numeric_limits<T>::has_signaling_NaN == expected, "has_signaling_NaN test 1"); - static_assert(std::numeric_limits<const T>::has_signaling_NaN == expected, "has_signaling_NaN test 2"); - static_assert(std::numeric_limits<volatile T>::has_signaling_NaN == expected, "has_signaling_NaN test 3"); - static_assert(std::numeric_limits<const volatile T>::has_signaling_NaN == expected, "has_signaling_NaN test 4"); -} - -int main() -{ - test<bool, false>(); - test<char, false>(); - test<signed char, false>(); - test<unsigned char, false>(); - test<wchar_t, false>(); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t, false>(); - test<char32_t, false>(); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short, false>(); - test<unsigned short, false>(); - test<int, false>(); - test<unsigned int, false>(); - test<long, false>(); - test<unsigned long, false>(); - test<long long, false>(); - test<unsigned long long, false>(); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t, false>(); - test<__uint128_t, false>(); -#endif - test<float, true>(); - test<double, true>(); - test<long double, true>(); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/infinity.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/infinity.pass.cpp deleted file mode 100644 index a2ccca333cc..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/infinity.pass.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// infinity() - -#include <limits> -#include <cfloat> -#include <cassert> - -template <class T> -void -test(T expected) -{ - assert(std::numeric_limits<T>::infinity() == expected); - assert(std::numeric_limits<const T>::infinity() == expected); - assert(std::numeric_limits<volatile T>::infinity() == expected); - assert(std::numeric_limits<const volatile T>::infinity() == expected); -} - -extern float zero; - -int main() -{ - test<bool>(false); - test<char>(0); - test<signed char>(0); - test<unsigned char>(0); - test<wchar_t>(0); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t>(0); - test<char32_t>(0); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short>(0); - test<unsigned short>(0); - test<int>(0); - test<unsigned int>(0); - test<long>(0); - test<unsigned long>(0); - test<long long>(0); - test<unsigned long long>(0); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t>(0); - test<__uint128_t>(0); -#endif - test<float>(1./zero); - test<double>(1./zero); - test<long double>(1./zero); -} - -float zero = 0; diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/is_bounded.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/is_bounded.pass.cpp deleted file mode 100644 index fa714d5d150..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/is_bounded.pass.cpp +++ /dev/null @@ -1,52 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// is_bounded - -#include <limits> - -template <class T, bool expected> -void -test() -{ - static_assert(std::numeric_limits<T>::is_bounded == expected, "is_bounded test 1"); - static_assert(std::numeric_limits<const T>::is_bounded == expected, "is_bounded test 2"); - static_assert(std::numeric_limits<volatile T>::is_bounded == expected, "is_bounded test 3"); - static_assert(std::numeric_limits<const volatile T>::is_bounded == expected, "is_bounded test 4"); -} - -int main() -{ - test<bool, true>(); - test<char, true>(); - test<signed char, true>(); - test<unsigned char, true>(); - test<wchar_t, true>(); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t, true>(); - test<char32_t, true>(); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short, true>(); - test<unsigned short, true>(); - test<int, true>(); - test<unsigned int, true>(); - test<long, true>(); - test<unsigned long, true>(); - test<long long, true>(); - test<unsigned long long, true>(); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t, true>(); - test<__uint128_t, true>(); -#endif - test<float, true>(); - test<double, true>(); - test<long double, true>(); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/is_exact.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/is_exact.pass.cpp deleted file mode 100644 index b96a0e7fc5f..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/is_exact.pass.cpp +++ /dev/null @@ -1,52 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// is_exact - -#include <limits> - -template <class T, bool expected> -void -test() -{ - static_assert(std::numeric_limits<T>::is_exact == expected, "is_exact test 1"); - static_assert(std::numeric_limits<const T>::is_exact == expected, "is_exact test 2"); - static_assert(std::numeric_limits<volatile T>::is_exact == expected, "is_exact test 3"); - static_assert(std::numeric_limits<const volatile T>::is_exact == expected, "is_exact test 4"); -} - -int main() -{ - test<bool, true>(); - test<char, true>(); - test<signed char, true>(); - test<unsigned char, true>(); - test<wchar_t, true>(); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t, true>(); - test<char32_t, true>(); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short, true>(); - test<unsigned short, true>(); - test<int, true>(); - test<unsigned int, true>(); - test<long, true>(); - test<unsigned long, true>(); - test<long long, true>(); - test<unsigned long long, true>(); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t, true>(); - test<__uint128_t, true>(); -#endif - test<float, false>(); - test<double, false>(); - test<long double, false>(); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/is_iec559.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/is_iec559.pass.cpp deleted file mode 100644 index 4408714c1a1..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/is_iec559.pass.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// is_iec559 - -#include <limits> - -template <class T, bool expected> -void -test() -{ - static_assert(std::numeric_limits<T>::is_iec559 == expected, "is_iec559 test 1"); - static_assert(std::numeric_limits<const T>::is_iec559 == expected, "is_iec559 test 2"); - static_assert(std::numeric_limits<volatile T>::is_iec559 == expected, "is_iec559 test 3"); - static_assert(std::numeric_limits<const volatile T>::is_iec559 == expected, "is_iec559 test 4"); -} - -int main() -{ - test<bool, false>(); - test<char, false>(); - test<signed char, false>(); - test<unsigned char, false>(); - test<wchar_t, false>(); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t, false>(); - test<char32_t, false>(); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short, false>(); - test<unsigned short, false>(); - test<int, false>(); - test<unsigned int, false>(); - test<long, false>(); - test<unsigned long, false>(); - test<long long, false>(); - test<unsigned long long, false>(); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t, false>(); - test<__uint128_t, false>(); -#endif - test<float, true>(); - test<double, true>(); -#if (defined(__ppc__) || defined(__ppc64__)) - test<long double, false>(); -#else - test<long double, true>(); -#endif -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/is_integer.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/is_integer.pass.cpp deleted file mode 100644 index 79bc5867ec6..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/is_integer.pass.cpp +++ /dev/null @@ -1,52 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// is_integer - -#include <limits> - -template <class T, bool expected> -void -test() -{ - static_assert(std::numeric_limits<T>::is_integer == expected, "is_integer test 1"); - static_assert(std::numeric_limits<const T>::is_integer == expected, "is_integer test 2"); - static_assert(std::numeric_limits<volatile T>::is_integer == expected, "is_integer test 3"); - static_assert(std::numeric_limits<const volatile T>::is_integer == expected, "is_integer test 4"); -} - -int main() -{ - test<bool, true>(); - test<char, true>(); - test<signed char, true>(); - test<unsigned char, true>(); - test<wchar_t, true>(); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t, true>(); - test<char32_t, true>(); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short, true>(); - test<unsigned short, true>(); - test<int, true>(); - test<unsigned int, true>(); - test<long, true>(); - test<unsigned long, true>(); - test<long long, true>(); - test<unsigned long long, true>(); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t, true>(); - test<__uint128_t, true>(); -#endif - test<float, false>(); - test<double, false>(); - test<long double, false>(); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/is_modulo.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/is_modulo.pass.cpp deleted file mode 100644 index 6a609963d04..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/is_modulo.pass.cpp +++ /dev/null @@ -1,52 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// is_modulo - -#include <limits> - -template <class T, bool expected> -void -test() -{ - static_assert(std::numeric_limits<T>::is_modulo == expected, "is_modulo test 1"); - static_assert(std::numeric_limits<const T>::is_modulo == expected, "is_modulo test 2"); - static_assert(std::numeric_limits<volatile T>::is_modulo == expected, "is_modulo test 3"); - static_assert(std::numeric_limits<const volatile T>::is_modulo == expected, "is_modulo test 4"); -} - -int main() -{ - test<bool, false>(); -// test<char, false>(); // don't know - test<signed char, false>(); - test<unsigned char, true>(); -// test<wchar_t, false>(); // don't know -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t, true>(); - test<char32_t, true>(); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short, false>(); - test<unsigned short, true>(); - test<int, false>(); - test<unsigned int, true>(); - test<long, false>(); - test<unsigned long, true>(); - test<long long, false>(); - test<unsigned long long, true>(); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t, false>(); - test<__uint128_t, true>(); -#endif - test<float, false>(); - test<double, false>(); - test<long double, false>(); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/is_signed.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/is_signed.pass.cpp deleted file mode 100644 index 28570fd2279..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/is_signed.pass.cpp +++ /dev/null @@ -1,52 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// is_signed - -#include <limits> - -template <class T, bool expected> -void -test() -{ - static_assert(std::numeric_limits<T>::is_signed == expected, "is_signed test 1"); - static_assert(std::numeric_limits<const T>::is_signed == expected, "is_signed test 2"); - static_assert(std::numeric_limits<volatile T>::is_signed == expected, "is_signed test 3"); - static_assert(std::numeric_limits<const volatile T>::is_signed == expected, "is_signed test 4"); -} - -int main() -{ - test<bool, false>(); - test<char, char(-1) < char(0)>(); - test<signed char, true>(); - test<unsigned char, false>(); - test<wchar_t, wchar_t(-1) < wchar_t(0)>(); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t, false>(); - test<char32_t, false>(); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short, true>(); - test<unsigned short, false>(); - test<int, true>(); - test<unsigned int, false>(); - test<long, true>(); - test<unsigned long, false>(); - test<long long, true>(); - test<unsigned long long, false>(); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t, true>(); - test<__uint128_t, false>(); -#endif - test<float, true>(); - test<double, true>(); - test<long double, true>(); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/lowest.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/lowest.pass.cpp deleted file mode 100644 index 21090aa9c4c..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/lowest.pass.cpp +++ /dev/null @@ -1,60 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// lowest() - -#include <limits> -#include <climits> -#include <cwchar> -#include <cfloat> -#include <cassert> - -template <class T> -void -test(T expected) -{ - assert(std::numeric_limits<T>::lowest() == expected); - assert(std::numeric_limits<T>::is_bounded); - assert(std::numeric_limits<const T>::lowest() == expected); - assert(std::numeric_limits<const T>::is_bounded); - assert(std::numeric_limits<volatile T>::lowest() == expected); - assert(std::numeric_limits<volatile T>::is_bounded); - assert(std::numeric_limits<const volatile T>::lowest() == expected); - assert(std::numeric_limits<const volatile T>::is_bounded); -} - -int main() -{ - test<bool>(false); - test<char>(CHAR_MIN); - test<signed char>(SCHAR_MIN); - test<unsigned char>(0); - test<wchar_t>(WCHAR_MIN); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t>(0); - test<char32_t>(0); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short>(SHRT_MIN); - test<unsigned short>(0); - test<int>(INT_MIN); - test<unsigned int>(0); - test<long>(LONG_MIN); - test<unsigned long>(0); - test<long long>(LLONG_MIN); - test<unsigned long long>(0); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t>(-__int128_t(__uint128_t(-1)/2) - 1); - test<__uint128_t>(0); -#endif - test<float>(-FLT_MAX); - test<double>(-DBL_MAX); - test<long double>(-LDBL_MAX); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/max.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/max.pass.cpp deleted file mode 100644 index 7517aaa192c..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/max.pass.cpp +++ /dev/null @@ -1,60 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// max() - -#include <limits> -#include <climits> -#include <cwchar> -#include <cfloat> -#include <cassert> - -template <class T> -void -test(T expected) -{ - assert(std::numeric_limits<T>::max() == expected); - assert(std::numeric_limits<T>::is_bounded); - assert(std::numeric_limits<const T>::max() == expected); - assert(std::numeric_limits<const T>::is_bounded); - assert(std::numeric_limits<volatile T>::max() == expected); - assert(std::numeric_limits<volatile T>::is_bounded); - assert(std::numeric_limits<const volatile T>::max() == expected); - assert(std::numeric_limits<const volatile T>::is_bounded); -} - -int main() -{ - test<bool>(true); - test<char>(CHAR_MAX); - test<signed char>(SCHAR_MAX); - test<unsigned char>(UCHAR_MAX); - test<wchar_t>(WCHAR_MAX); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t>(USHRT_MAX); - test<char32_t>(UINT_MAX); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short>(SHRT_MAX); - test<unsigned short>(USHRT_MAX); - test<int>(INT_MAX); - test<unsigned int>(UINT_MAX); - test<long>(LONG_MAX); - test<unsigned long>(ULONG_MAX); - test<long long>(LLONG_MAX); - test<unsigned long long>(ULLONG_MAX); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t>(__int128_t(__uint128_t(-1)/2)); - test<__uint128_t>(__uint128_t(-1)); -#endif - test<float>(FLT_MAX); - test<double>(DBL_MAX); - test<long double>(LDBL_MAX); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/max_digits10.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/max_digits10.pass.cpp deleted file mode 100644 index de771ebe3b4..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/max_digits10.pass.cpp +++ /dev/null @@ -1,53 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// max_digits10 - -#include <limits> -#include <cfloat> - -template <class T, int expected> -void -test() -{ - static_assert(std::numeric_limits<T>::max_digits10 == expected, "max_digits10 test 1"); - static_assert(std::numeric_limits<const T>::max_digits10 == expected, "max_digits10 test 2"); - static_assert(std::numeric_limits<volatile T>::max_digits10 == expected, "max_digits10 test 3"); - static_assert(std::numeric_limits<const volatile T>::max_digits10 == expected, "max_digits10 test 4"); -} - -int main() -{ - test<bool, 0>(); - test<char, 0>(); - test<signed char, 0>(); - test<unsigned char, 0>(); - test<wchar_t, 0>(); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t, 0>(); - test<char32_t, 0>(); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short, 0>(); - test<unsigned short, 0>(); - test<int, 0>(); - test<unsigned int, 0>(); - test<long, 0>(); - test<unsigned long, 0>(); - test<long long, 0>(); - test<unsigned long long, 0>(); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t, 0>(); - test<__uint128_t, 0>(); -#endif - test<float, 2+(FLT_MANT_DIG * 30103)/100000>(); - test<double, 2+(DBL_MANT_DIG * 30103)/100000>(); - test<long double, 2+(LDBL_MANT_DIG * 30103)/100000>(); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/max_exponent.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/max_exponent.pass.cpp deleted file mode 100644 index 6b61f7ba433..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/max_exponent.pass.cpp +++ /dev/null @@ -1,53 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// max_exponent - -#include <limits> -#include <cfloat> - -template <class T, int expected> -void -test() -{ - static_assert(std::numeric_limits<T>::max_exponent == expected, "max_exponent test 1"); - static_assert(std::numeric_limits<const T>::max_exponent == expected, "max_exponent test 2"); - static_assert(std::numeric_limits<volatile T>::max_exponent == expected, "max_exponent test 3"); - static_assert(std::numeric_limits<const volatile T>::max_exponent == expected, "max_exponent test 4"); -} - -int main() -{ - test<bool, 0>(); - test<char, 0>(); - test<signed char, 0>(); - test<unsigned char, 0>(); - test<wchar_t, 0>(); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t, 0>(); - test<char32_t, 0>(); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short, 0>(); - test<unsigned short, 0>(); - test<int, 0>(); - test<unsigned int, 0>(); - test<long, 0>(); - test<unsigned long, 0>(); - test<long long, 0>(); - test<unsigned long long, 0>(); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t, 0>(); - test<__uint128_t, 0>(); -#endif - test<float, FLT_MAX_EXP>(); - test<double, DBL_MAX_EXP>(); - test<long double, LDBL_MAX_EXP>(); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/max_exponent10.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/max_exponent10.pass.cpp deleted file mode 100644 index 927585e9468..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/max_exponent10.pass.cpp +++ /dev/null @@ -1,53 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// max_exponent10 - -#include <limits> -#include <cfloat> - -template <class T, int expected> -void -test() -{ - static_assert(std::numeric_limits<T>::max_exponent10 == expected, "max_exponent10 test 1"); - static_assert(std::numeric_limits<const T>::max_exponent10 == expected, "max_exponent10 test 2"); - static_assert(std::numeric_limits<volatile T>::max_exponent10 == expected, "max_exponent10 test 3"); - static_assert(std::numeric_limits<const volatile T>::max_exponent10 == expected, "max_exponent10 test 4"); -} - -int main() -{ - test<bool, 0>(); - test<char, 0>(); - test<signed char, 0>(); - test<unsigned char, 0>(); - test<wchar_t, 0>(); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t, 0>(); - test<char32_t, 0>(); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short, 0>(); - test<unsigned short, 0>(); - test<int, 0>(); - test<unsigned int, 0>(); - test<long, 0>(); - test<unsigned long, 0>(); - test<long long, 0>(); - test<unsigned long long, 0>(); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t, 0>(); - test<__uint128_t, 0>(); -#endif - test<float, FLT_MAX_10_EXP>(); - test<double, DBL_MAX_10_EXP>(); - test<long double, LDBL_MAX_10_EXP>(); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/min.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/min.pass.cpp deleted file mode 100644 index e72fbba1051..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/min.pass.cpp +++ /dev/null @@ -1,60 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// min() - -#include <limits> -#include <climits> -#include <cwchar> -#include <cfloat> -#include <cassert> - -template <class T> -void -test(T expected) -{ - assert(std::numeric_limits<T>::min() == expected); - assert(std::numeric_limits<T>::is_bounded || !std::numeric_limits<T>::is_signed); - assert(std::numeric_limits<const T>::min() == expected); - assert(std::numeric_limits<const T>::is_bounded || !std::numeric_limits<const T>::is_signed); - assert(std::numeric_limits<volatile T>::min() == expected); - assert(std::numeric_limits<volatile T>::is_bounded || !std::numeric_limits<volatile T>::is_signed); - assert(std::numeric_limits<const volatile T>::min() == expected); - assert(std::numeric_limits<const volatile T>::is_bounded || !std::numeric_limits<const volatile T>::is_signed); -} - -int main() -{ - test<bool>(false); - test<char>(CHAR_MIN); - test<signed char>(SCHAR_MIN); - test<unsigned char>(0); - test<wchar_t>(WCHAR_MIN); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t>(0); - test<char32_t>(0); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short>(SHRT_MIN); - test<unsigned short>(0); - test<int>(INT_MIN); - test<unsigned int>(0); - test<long>(LONG_MIN); - test<unsigned long>(0); - test<long long>(LLONG_MIN); - test<unsigned long long>(0); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t>(-__int128_t(__uint128_t(-1)/2) - 1); - test<__uint128_t>(0); -#endif - test<float>(FLT_MIN); - test<double>(DBL_MIN); - test<long double>(LDBL_MIN); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/min_exponent.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/min_exponent.pass.cpp deleted file mode 100644 index 245e8441499..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/min_exponent.pass.cpp +++ /dev/null @@ -1,53 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// min_exponent - -#include <limits> -#include <cfloat> - -template <class T, int expected> -void -test() -{ - static_assert(std::numeric_limits<T>::min_exponent == expected, "min_exponent test 1"); - static_assert(std::numeric_limits<const T>::min_exponent == expected, "min_exponent test 2"); - static_assert(std::numeric_limits<volatile T>::min_exponent == expected, "min_exponent test 3"); - static_assert(std::numeric_limits<const volatile T>::min_exponent == expected, "min_exponent test 4"); -} - -int main() -{ - test<bool, 0>(); - test<char, 0>(); - test<signed char, 0>(); - test<unsigned char, 0>(); - test<wchar_t, 0>(); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t, 0>(); - test<char32_t, 0>(); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short, 0>(); - test<unsigned short, 0>(); - test<int, 0>(); - test<unsigned int, 0>(); - test<long, 0>(); - test<unsigned long, 0>(); - test<long long, 0>(); - test<unsigned long long, 0>(); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t, 0>(); - test<__uint128_t, 0>(); -#endif - test<float, FLT_MIN_EXP>(); - test<double, DBL_MIN_EXP>(); - test<long double, LDBL_MIN_EXP>(); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/min_exponent10.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/min_exponent10.pass.cpp deleted file mode 100644 index b54d46fd52e..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/min_exponent10.pass.cpp +++ /dev/null @@ -1,53 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// min_exponent10 - -#include <limits> -#include <cfloat> - -template <class T, int expected> -void -test() -{ - static_assert(std::numeric_limits<T>::min_exponent10 == expected, "min_exponent10 test 1"); - static_assert(std::numeric_limits<const T>::min_exponent10 == expected, "min_exponent10 test 2"); - static_assert(std::numeric_limits<volatile T>::min_exponent10 == expected, "min_exponent10 test 3"); - static_assert(std::numeric_limits<const volatile T>::min_exponent10 == expected, "min_exponent10 test 4"); -} - -int main() -{ - test<bool, 0>(); - test<char, 0>(); - test<signed char, 0>(); - test<unsigned char, 0>(); - test<wchar_t, 0>(); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t, 0>(); - test<char32_t, 0>(); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short, 0>(); - test<unsigned short, 0>(); - test<int, 0>(); - test<unsigned int, 0>(); - test<long, 0>(); - test<unsigned long, 0>(); - test<long long, 0>(); - test<unsigned long long, 0>(); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t, 0>(); - test<__uint128_t, 0>(); -#endif - test<float, FLT_MIN_10_EXP>(); - test<double, DBL_MIN_10_EXP>(); - test<long double, LDBL_MIN_10_EXP>(); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/quiet_NaN.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/quiet_NaN.pass.cpp deleted file mode 100644 index 97166f0c320..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/quiet_NaN.pass.cpp +++ /dev/null @@ -1,73 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// quiet_NaN() - -#include <limits> -#include <cmath> -#include <type_traits> -#include <cassert> - -template <class T> -void -test_imp(std::true_type) -{ - assert(std::isnan(std::numeric_limits<T>::quiet_NaN())); - assert(std::isnan(std::numeric_limits<const T>::quiet_NaN())); - assert(std::isnan(std::numeric_limits<volatile T>::quiet_NaN())); - assert(std::isnan(std::numeric_limits<const volatile T>::quiet_NaN())); -} - -template <class T> -void -test_imp(std::false_type) -{ - assert(std::numeric_limits<T>::quiet_NaN() == T()); - assert(std::numeric_limits<const T>::quiet_NaN() == T()); - assert(std::numeric_limits<volatile T>::quiet_NaN() == T()); - assert(std::numeric_limits<const volatile T>::quiet_NaN() == T()); -} - -template <class T> -inline -void -test() -{ - test_imp<T>(std::is_floating_point<T>()); -} - -int main() -{ - test<bool>(); - test<char>(); - test<signed char>(); - test<unsigned char>(); - test<wchar_t>(); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t>(); - test<char32_t>(); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short>(); - test<unsigned short>(); - test<int>(); - test<unsigned int>(); - test<long>(); - test<unsigned long>(); - test<long long>(); - test<unsigned long long>(); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t>(); - test<__uint128_t>(); -#endif - test<float>(); - test<double>(); - test<long double>(); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/radix.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/radix.pass.cpp deleted file mode 100644 index 98a2a53d192..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/radix.pass.cpp +++ /dev/null @@ -1,53 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// radix - -#include <limits> -#include <cfloat> - -template <class T, int expected> -void -test() -{ - static_assert(std::numeric_limits<T>::radix == expected, "radix test 1"); - static_assert(std::numeric_limits<const T>::radix == expected, "radix test 2"); - static_assert(std::numeric_limits<volatile T>::radix == expected, "radix test 3"); - static_assert(std::numeric_limits<const volatile T>::radix == expected, "radix test 4"); -} - -int main() -{ - test<bool, 2>(); - test<char, 2>(); - test<signed char, 2>(); - test<unsigned char, 2>(); - test<wchar_t, 2>(); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t, 2>(); - test<char32_t, 2>(); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short, 2>(); - test<unsigned short, 2>(); - test<int, 2>(); - test<unsigned int, 2>(); - test<long, 2>(); - test<unsigned long, 2>(); - test<long long, 2>(); - test<unsigned long long, 2>(); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t, 2>(); - test<__uint128_t, 2>(); -#endif - test<float, FLT_RADIX>(); - test<double, FLT_RADIX>(); - test<long double, FLT_RADIX>(); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/round_error.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/round_error.pass.cpp deleted file mode 100644 index 5da5c9513a8..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/round_error.pass.cpp +++ /dev/null @@ -1,54 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// round_error() - -#include <limits> -#include <cfloat> -#include <cassert> - -template <class T> -void -test(T expected) -{ - assert(std::numeric_limits<T>::round_error() == expected); - assert(std::numeric_limits<const T>::round_error() == expected); - assert(std::numeric_limits<volatile T>::round_error() == expected); - assert(std::numeric_limits<const volatile T>::round_error() == expected); -} - -int main() -{ - test<bool>(false); - test<char>(0); - test<signed char>(0); - test<unsigned char>(0); - test<wchar_t>(0); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t>(0); - test<char32_t>(0); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short>(0); - test<unsigned short>(0); - test<int>(0); - test<unsigned int>(0); - test<long>(0); - test<unsigned long>(0); - test<long long>(0); - test<unsigned long long>(0); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t>(0); - test<__uint128_t>(0); -#endif - test<float>(0.5); - test<double>(0.5); - test<long double>(0.5); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/round_style.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/round_style.pass.cpp deleted file mode 100644 index 645f6f7df76..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/round_style.pass.cpp +++ /dev/null @@ -1,52 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// round_style - -#include <limits> - -template <class T, std::float_round_style expected> -void -test() -{ - static_assert(std::numeric_limits<T>::round_style == expected, "round_style test 1"); - static_assert(std::numeric_limits<const T>::round_style == expected, "round_style test 2"); - static_assert(std::numeric_limits<volatile T>::round_style == expected, "round_style test 3"); - static_assert(std::numeric_limits<const volatile T>::round_style == expected, "round_style test 4"); -} - -int main() -{ - test<bool, std::round_toward_zero>(); - test<char, std::round_toward_zero>(); - test<signed char, std::round_toward_zero>(); - test<unsigned char, std::round_toward_zero>(); - test<wchar_t, std::round_toward_zero>(); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t, std::round_toward_zero>(); - test<char32_t, std::round_toward_zero>(); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short, std::round_toward_zero>(); - test<unsigned short, std::round_toward_zero>(); - test<int, std::round_toward_zero>(); - test<unsigned int, std::round_toward_zero>(); - test<long, std::round_toward_zero>(); - test<unsigned long, std::round_toward_zero>(); - test<long long, std::round_toward_zero>(); - test<unsigned long long, std::round_toward_zero>(); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t, std::round_toward_zero>(); - test<__uint128_t, std::round_toward_zero>(); -#endif - test<float, std::round_to_nearest>(); - test<double, std::round_to_nearest>(); - test<long double, std::round_to_nearest>(); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/signaling_NaN.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/signaling_NaN.pass.cpp deleted file mode 100644 index d9df999ddb7..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/signaling_NaN.pass.cpp +++ /dev/null @@ -1,73 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// signaling_NaN() - -#include <limits> -#include <cmath> -#include <type_traits> -#include <cassert> - -template <class T> -void -test_imp(std::true_type) -{ - assert(std::isnan(std::numeric_limits<T>::signaling_NaN())); - assert(std::isnan(std::numeric_limits<const T>::signaling_NaN())); - assert(std::isnan(std::numeric_limits<volatile T>::signaling_NaN())); - assert(std::isnan(std::numeric_limits<const volatile T>::signaling_NaN())); -} - -template <class T> -void -test_imp(std::false_type) -{ - assert(std::numeric_limits<T>::signaling_NaN() == T()); - assert(std::numeric_limits<const T>::signaling_NaN() == T()); - assert(std::numeric_limits<volatile T>::signaling_NaN() == T()); - assert(std::numeric_limits<const volatile T>::signaling_NaN() == T()); -} - -template <class T> -inline -void -test() -{ - test_imp<T>(std::is_floating_point<T>()); -} - -int main() -{ - test<bool>(); - test<char>(); - test<signed char>(); - test<unsigned char>(); - test<wchar_t>(); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t>(); - test<char32_t>(); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short>(); - test<unsigned short>(); - test<int>(); - test<unsigned int>(); - test<long>(); - test<unsigned long>(); - test<long long>(); - test<unsigned long long>(); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t>(); - test<__uint128_t>(); -#endif - test<float>(); - test<double>(); - test<long double>(); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/tinyness_before.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/tinyness_before.pass.cpp deleted file mode 100644 index 9e2a8431a4e..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/tinyness_before.pass.cpp +++ /dev/null @@ -1,52 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// tinyness_before - -#include <limits> - -template <class T, bool expected> -void -test() -{ - static_assert(std::numeric_limits<T>::tinyness_before == expected, "tinyness_before test 1"); - static_assert(std::numeric_limits<const T>::tinyness_before == expected, "tinyness_before test 2"); - static_assert(std::numeric_limits<volatile T>::tinyness_before == expected, "tinyness_before test 3"); - static_assert(std::numeric_limits<const volatile T>::tinyness_before == expected, "tinyness_before test 4"); -} - -int main() -{ - test<bool, false>(); - test<char, false>(); - test<signed char, false>(); - test<unsigned char, false>(); - test<wchar_t, false>(); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t, false>(); - test<char32_t, false>(); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short, false>(); - test<unsigned short, false>(); - test<int, false>(); - test<unsigned int, false>(); - test<long, false>(); - test<unsigned long, false>(); - test<long long, false>(); - test<unsigned long long, false>(); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t, false>(); - test<__uint128_t, false>(); -#endif - test<float, false>(); - test<double, false>(); - test<long double, false>(); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/traps.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits.members/traps.pass.cpp deleted file mode 100644 index af93e78c0e9..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits.members/traps.pass.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// traps - -#include <limits> - -#if defined(__i386__) || defined(__x86_64__) || defined(__pnacl__) -static const bool integral_types_trap = true; -#else -static const bool integral_types_trap = false; -#endif - -template <class T, bool expected> -void -test() -{ - static_assert(std::numeric_limits<T>::traps == expected, "traps test 1"); - static_assert(std::numeric_limits<const T>::traps == expected, "traps test 2"); - static_assert(std::numeric_limits<volatile T>::traps == expected, "traps test 3"); - static_assert(std::numeric_limits<const volatile T>::traps == expected, "traps test 4"); -} - -int main() -{ - test<bool, false>(); - test<char, integral_types_trap>(); - test<signed char, integral_types_trap>(); - test<unsigned char, integral_types_trap>(); - test<wchar_t, integral_types_trap>(); -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS - test<char16_t, integral_types_trap>(); - test<char32_t, integral_types_trap>(); -#endif // _LIBCPP_HAS_NO_UNICODE_CHARS - test<short, integral_types_trap>(); - test<unsigned short, integral_types_trap>(); - test<int, integral_types_trap>(); - test<unsigned int, integral_types_trap>(); - test<long, integral_types_trap>(); - test<unsigned long, integral_types_trap>(); - test<long long, integral_types_trap>(); - test<unsigned long long, integral_types_trap>(); -#ifndef _LIBCPP_HAS_NO_INT128 - test<__int128_t, integral_types_trap>(); - test<__uint128_t, integral_types_trap>(); -#endif - test<float, false>(); - test<double, false>(); - test<long double, false>(); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.limits/default.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.limits/default.pass.cpp deleted file mode 100644 index 6cf5681d82b..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.limits/default.pass.cpp +++ /dev/null @@ -1,83 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// The default numeric_limits<T> template shall have all members, but with -// 0 or false values. - -#include <limits> -#include <cassert> - -struct A -{ - A(int i = 0) : data_(i) {} - int data_; -}; - -bool operator == (const A& x, const A& y) {return x.data_ == y.data_;} - -int main() -{ - static_assert(std::numeric_limits<A>::is_specialized == false, - "std::numeric_limits<A>::is_specialized == false"); - assert(std::numeric_limits<A>::min() == A()); - assert(std::numeric_limits<A>::max() == A()); - assert(std::numeric_limits<A>::lowest() == A()); - static_assert(std::numeric_limits<A>::digits == 0, - "std::numeric_limits<A>::digits == 0"); - static_assert(std::numeric_limits<A>::digits10 == 0, - "std::numeric_limits<A>::digits10 == 0"); - static_assert(std::numeric_limits<A>::max_digits10 == 0, - "std::numeric_limits<A>::max_digits10 == 0"); - static_assert(std::numeric_limits<A>::is_signed == false, - "std::numeric_limits<A>::is_signed == false"); - static_assert(std::numeric_limits<A>::is_integer == false, - "std::numeric_limits<A>::is_integer == false"); - static_assert(std::numeric_limits<A>::is_exact == false, - "std::numeric_limits<A>::is_exact == false"); - static_assert(std::numeric_limits<A>::radix == 0, - "std::numeric_limits<A>::radix == 0"); - assert(std::numeric_limits<A>::epsilon() == A()); - assert(std::numeric_limits<A>::round_error() == A()); - static_assert(std::numeric_limits<A>::min_exponent == 0, - "std::numeric_limits<A>::min_exponent == 0"); - static_assert(std::numeric_limits<A>::min_exponent10 == 0, - "std::numeric_limits<A>::min_exponent10 == 0"); - static_assert(std::numeric_limits<A>::max_exponent == 0, - "std::numeric_limits<A>::max_exponent == 0"); - static_assert(std::numeric_limits<A>::max_exponent10 == 0, - "std::numeric_limits<A>::max_exponent10 == 0"); - static_assert(std::numeric_limits<A>::has_infinity == false, - "std::numeric_limits<A>::has_infinity == false"); - static_assert(std::numeric_limits<A>::has_quiet_NaN == false, - "std::numeric_limits<A>::has_quiet_NaN == false"); - static_assert(std::numeric_limits<A>::has_signaling_NaN == false, - "std::numeric_limits<A>::has_signaling_NaN == false"); - static_assert(std::numeric_limits<A>::has_denorm == std::denorm_absent, - "std::numeric_limits<A>::has_denorm == std::denorm_absent"); - static_assert(std::numeric_limits<A>::has_denorm_loss == false, - "std::numeric_limits<A>::has_denorm_loss == false"); - assert(std::numeric_limits<A>::infinity() == A()); - assert(std::numeric_limits<A>::quiet_NaN() == A()); - assert(std::numeric_limits<A>::signaling_NaN() == A()); - assert(std::numeric_limits<A>::denorm_min() == A()); - static_assert(std::numeric_limits<A>::is_iec559 == false, - "std::numeric_limits<A>::is_iec559 == false"); - static_assert(std::numeric_limits<A>::is_bounded == false, - "std::numeric_limits<A>::is_bounded == false"); - static_assert(std::numeric_limits<A>::is_modulo == false, - "std::numeric_limits<A>::is_modulo == false"); - static_assert(std::numeric_limits<A>::traps == false, - "std::numeric_limits<A>::traps == false"); - static_assert(std::numeric_limits<A>::tinyness_before == false, - "std::numeric_limits<A>::tinyness_before == false"); - static_assert(std::numeric_limits<A>::round_style == std::round_toward_zero, - "std::numeric_limits<A>::round_style == std::round_toward_zero"); -} diff --git a/libcxx/test/language.support/support.limits/limits/numeric.special/nothing_to_do.pass.cpp b/libcxx/test/language.support/support.limits/limits/numeric.special/nothing_to_do.pass.cpp deleted file mode 100644 index b58f5c55b64..00000000000 --- a/libcxx/test/language.support/support.limits/limits/numeric.special/nothing_to_do.pass.cpp +++ /dev/null @@ -1,12 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -int main() -{ -} diff --git a/libcxx/test/language.support/support.limits/limits/round.style/check_values.pass.cpp b/libcxx/test/language.support/support.limits/limits/round.style/check_values.pass.cpp deleted file mode 100644 index d6c70c4cf23..00000000000 --- a/libcxx/test/language.support/support.limits/limits/round.style/check_values.pass.cpp +++ /dev/null @@ -1,34 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 numeric_limits - -// float_denorm_style - -#include <limits> - -typedef char one; -struct two {one _[2];}; - -one test(std::float_denorm_style); -two test(int); - -int main() -{ - static_assert(std::denorm_indeterminate == -1, - "std::denorm_indeterminate == -1"); - static_assert(std::denorm_absent == 0, - "std::denorm_absent == 0"); - static_assert(std::denorm_present == 1, - "std::denorm_present == 1"); - static_assert(sizeof(test(std::denorm_present)) == 1, - "sizeof(test(std::denorm_present)) == 1"); - static_assert(sizeof(test(1)) == 2, - "sizeof(test(1)) == 2"); -} diff --git a/libcxx/test/language.support/support.limits/limits/version.pass.cpp b/libcxx/test/language.support/support.limits/limits/version.pass.cpp deleted file mode 100644 index 0cb3f6f52a4..00000000000 --- a/libcxx/test/language.support/support.limits/limits/version.pass.cpp +++ /dev/null @@ -1,20 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// <limits> - -#include <limits> - -#ifndef _LIBCPP_VERSION -#error _LIBCPP_VERSION not defined -#endif - -int main() -{ -} diff --git a/libcxx/test/language.support/support.limits/nothing_to_do.pass.cpp b/libcxx/test/language.support/support.limits/nothing_to_do.pass.cpp deleted file mode 100644 index b58f5c55b64..00000000000 --- a/libcxx/test/language.support/support.limits/nothing_to_do.pass.cpp +++ /dev/null @@ -1,12 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -int main() -{ -} diff --git a/libcxx/test/language.support/support.rtti/bad.cast/bad_cast.pass.cpp b/libcxx/test/language.support/support.rtti/bad.cast/bad_cast.pass.cpp deleted file mode 100644 index 448ffba2c2b..00000000000 --- a/libcxx/test/language.support/support.rtti/bad.cast/bad_cast.pass.cpp +++ /dev/null @@ -1,27 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 bad_cast - -#include <typeinfo> -#include <type_traits> -#include <cassert> - -int main() -{ - static_assert((std::is_base_of<std::exception, std::bad_cast>::value), - "std::is_base_of<std::exception, std::bad_cast>::value"); - static_assert(std::is_polymorphic<std::bad_cast>::value, - "std::is_polymorphic<std::bad_cast>::value"); - std::bad_cast b; - std::bad_cast b2 = b; - b2 = b; - const char* w = b2.what(); - assert(w); -} diff --git a/libcxx/test/language.support/support.rtti/bad.typeid/bad_typeid.pass.cpp b/libcxx/test/language.support/support.rtti/bad.typeid/bad_typeid.pass.cpp deleted file mode 100644 index 190aebe5497..00000000000 --- a/libcxx/test/language.support/support.rtti/bad.typeid/bad_typeid.pass.cpp +++ /dev/null @@ -1,27 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 bad_typeid - -#include <typeinfo> -#include <type_traits> -#include <cassert> - -int main() -{ - static_assert((std::is_base_of<std::exception, std::bad_typeid>::value), - "std::is_base_of<std::exception, std::bad_typeid>::value"); - static_assert(std::is_polymorphic<std::bad_typeid>::value, - "std::is_polymorphic<std::bad_typeid>::value"); - std::bad_typeid b; - std::bad_typeid b2 = b; - b2 = b; - const char* w = b2.what(); - assert(w); -} diff --git a/libcxx/test/language.support/support.rtti/type.info/type_info.pass.cpp b/libcxx/test/language.support/support.rtti/type.info/type_info.pass.cpp deleted file mode 100644 index 2616865e6da..00000000000 --- a/libcxx/test/language.support/support.rtti/type.info/type_info.pass.cpp +++ /dev/null @@ -1,26 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 type_info - -#include <typeinfo> -#include <cstring> -#include <cassert> - -int main() -{ - const std::type_info& t1 = typeid(int); - const std::type_info& t2 = typeid(int); - assert(t1 == t2); - const std::type_info& t3 = typeid(short); - assert(t1 != t3); - assert(!t1.before(t2)); - assert(strcmp(t1.name(), t2.name()) == 0); - assert(strcmp(t1.name(), t3.name()) != 0); -} diff --git a/libcxx/test/language.support/support.rtti/type.info/type_info_hash.pass.cpp b/libcxx/test/language.support/support.rtti/type.info/type_info_hash.pass.cpp deleted file mode 100644 index c91a21ff2da..00000000000 --- a/libcxx/test/language.support/support.rtti/type.info/type_info_hash.pass.cpp +++ /dev/null @@ -1,23 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 type_info - -#include <typeinfo> -#include <cstring> -#include <cassert> - -int main() -{ - const std::type_info& t1 = typeid(int); - const std::type_info& t2 = typeid(int); - const std::type_info& t3 = typeid(short); - assert(t1.hash_code() == t2.hash_code()); - assert(t1.hash_code() != t3.hash_code()); -} diff --git a/libcxx/test/language.support/support.rtti/version.pass.cpp b/libcxx/test/language.support/support.rtti/version.pass.cpp deleted file mode 100644 index 0a9ece34f97..00000000000 --- a/libcxx/test/language.support/support.rtti/version.pass.cpp +++ /dev/null @@ -1,20 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// <typeinfo> - -#include <typeinfo> - -#ifndef _LIBCPP_VERSION -#error _LIBCPP_VERSION not defined -#endif - -int main() -{ -} diff --git a/libcxx/test/language.support/support.runtime/csetjmp.pass.cpp b/libcxx/test/language.support/support.runtime/csetjmp.pass.cpp deleted file mode 100644 index dc034ce099e..00000000000 --- a/libcxx/test/language.support/support.runtime/csetjmp.pass.cpp +++ /dev/null @@ -1,24 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 <csetjmp> - -#include <csetjmp> -#include <type_traits> - -#ifndef setjmp -#error setjmp not defined -#endif - -int main() -{ - std::jmp_buf jb; - static_assert((std::is_same<decltype(std::longjmp(jb, 0)), void>::value), - "std::is_same<decltype(std::longjmp(jb, 0)), void>::value"); -} diff --git a/libcxx/test/language.support/support.runtime/csignal.pass.cpp b/libcxx/test/language.support/support.runtime/csignal.pass.cpp deleted file mode 100644 index 717347df7f0..00000000000 --- a/libcxx/test/language.support/support.runtime/csignal.pass.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 <csignal> - -#include <csignal> -#include <type_traits> - -#ifndef SIG_DFL -#error SIG_DFL not defined -#endif - -#ifndef SIG_ERR -#error SIG_ERR not defined -#endif - -#ifndef SIG_IGN -#error SIG_IGN not defined -#endif - -#ifndef SIGABRT -#error SIGABRT not defined -#endif - -#ifndef SIGFPE -#error SIGFPE not defined -#endif - -#ifndef SIGILL -#error SIGILL not defined -#endif - -#ifndef SIGINT -#error SIGINT not defined -#endif - -#ifndef SIGSEGV -#error SIGSEGV not defined -#endif - -#ifndef SIGTERM -#error SIGTERM not defined -#endif - -int main() -{ - std::sig_atomic_t sig; - typedef void (*func)(int); - static_assert((std::is_same<decltype(std::signal(0, (func)0)), func>::value), ""); - static_assert((std::is_same<decltype(std::raise(0)), int>::value), ""); -} diff --git a/libcxx/test/language.support/support.runtime/cstdarg.pass.cpp b/libcxx/test/language.support/support.runtime/cstdarg.pass.cpp deleted file mode 100644 index 059ad2f4ff9..00000000000 --- a/libcxx/test/language.support/support.runtime/cstdarg.pass.cpp +++ /dev/null @@ -1,35 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 <cstdarg> - -#include <cstdarg> - -#ifndef va_arg -#error va_arg not defined -#endif - -#if __cplusplus >= 201103L -# ifndef va_copy -# error va_copy is not defined when c++ >= 11 -# endif -#endif - -#ifndef va_end -#error va_end not defined -#endif - -#ifndef va_start -#error va_start not defined -#endif - -int main() -{ - std::va_list va; -} diff --git a/libcxx/test/language.support/support.runtime/cstdbool.pass.cpp b/libcxx/test/language.support/support.runtime/cstdbool.pass.cpp deleted file mode 100644 index f52c1556feb..00000000000 --- a/libcxx/test/language.support/support.runtime/cstdbool.pass.cpp +++ /dev/null @@ -1,32 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 <cstdbool> - -#include <cstdbool> - -#ifndef __bool_true_false_are_defined -#error __bool_true_false_are_defined not defined -#endif - -#ifdef bool -#error bool should not be defined -#endif - -#ifdef true -#error true should not be defined -#endif - -#ifdef false -#error false should not be defined -#endif - -int main() -{ -} diff --git a/libcxx/test/language.support/support.runtime/cstdlib.pass.cpp b/libcxx/test/language.support/support.runtime/cstdlib.pass.cpp deleted file mode 100644 index e14e70e34e4..00000000000 --- a/libcxx/test/language.support/support.runtime/cstdlib.pass.cpp +++ /dev/null @@ -1,86 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 <cstdlib> - -#include <cstdlib> -#include <type_traits> - -#ifndef EXIT_FAILURE -#error EXIT_FAILURE not defined -#endif - -#ifndef EXIT_SUCCESS -#error EXIT_SUCCESS not defined -#endif - -#ifndef MB_CUR_MAX -#error MB_CUR_MAX not defined -#endif - -#ifndef NULL -#error NULL not defined -#endif - -#ifndef RAND_MAX -#error RAND_MAX not defined -#endif - -int main() -{ - std::size_t s = 0; - std::div_t d; - std::ldiv_t ld; - std::lldiv_t lld; - char** endptr = 0; - static_assert((std::is_same<decltype(std::atof("")), double>::value), ""); - static_assert((std::is_same<decltype(std::atoi("")), int>::value), ""); - static_assert((std::is_same<decltype(std::atol("")), long>::value), ""); - static_assert((std::is_same<decltype(std::atoll("")), long long>::value), ""); - static_assert((std::is_same<decltype(std::getenv("")), char*>::value), ""); - static_assert((std::is_same<decltype(std::strtod("", endptr)), double>::value), ""); - static_assert((std::is_same<decltype(std::strtof("", endptr)), float>::value), ""); - static_assert((std::is_same<decltype(std::strtold("", endptr)), long double>::value), ""); - static_assert((std::is_same<decltype(std::strtol("", endptr,0)), long>::value), ""); - static_assert((std::is_same<decltype(std::strtoll("", endptr,0)), long long>::value), ""); - static_assert((std::is_same<decltype(std::strtoul("", endptr,0)), unsigned long>::value), ""); - static_assert((std::is_same<decltype(std::strtoull("", endptr,0)), unsigned long long>::value), ""); - static_assert((std::is_same<decltype(std::rand()), int>::value), ""); - static_assert((std::is_same<decltype(std::srand(0)), void>::value), ""); - static_assert((std::is_same<decltype(std::calloc(0,0)), void*>::value), ""); - static_assert((std::is_same<decltype(std::free(0)), void>::value), ""); - static_assert((std::is_same<decltype(std::malloc(0)), void*>::value), ""); - static_assert((std::is_same<decltype(std::realloc(0,0)), void*>::value), ""); - static_assert((std::is_same<decltype(std::abort()), void>::value), ""); - static_assert((std::is_same<decltype(std::atexit(0)), int>::value), ""); - static_assert((std::is_same<decltype(std::exit(0)), void>::value), ""); - static_assert((std::is_same<decltype(std::_Exit(0)), void>::value), ""); - static_assert((std::is_same<decltype(std::getenv("")), char*>::value), ""); - static_assert((std::is_same<decltype(std::system("")), int>::value), ""); - static_assert((std::is_same<decltype(std::bsearch(0,0,0,0,0)), void*>::value), ""); - static_assert((std::is_same<decltype(std::qsort(0,0,0,0)), void>::value), ""); - static_assert((std::is_same<decltype(std::abs(0)), int>::value), ""); - static_assert((std::is_same<decltype(std::abs((long)0)), long>::value), ""); - static_assert((std::is_same<decltype(std::abs((long long)0)), long long>::value), ""); - static_assert((std::is_same<decltype(std::labs((long)0)), long>::value), ""); - static_assert((std::is_same<decltype(std::llabs((long long)0)), long long>::value), ""); - static_assert((std::is_same<decltype(std::div(0,0)), std::div_t>::value), ""); - static_assert((std::is_same<decltype(std::div(0L,0L)), std::ldiv_t>::value), ""); - static_assert((std::is_same<decltype(std::div(0LL,0LL)), std::lldiv_t>::value), ""); - static_assert((std::is_same<decltype(std::ldiv(0L,0L)), std::ldiv_t>::value), ""); - static_assert((std::is_same<decltype(std::lldiv(0LL,0LL)), std::lldiv_t>::value), ""); - static_assert((std::is_same<decltype(std::mblen("",0)), int>::value), ""); - wchar_t* pw = 0; - const wchar_t* pwc = 0; - char* pc = 0; - static_assert((std::is_same<decltype(std::mbtowc(pw,"",0)), int>::value), ""); - static_assert((std::is_same<decltype(std::wctomb(pc,L' ')), int>::value), ""); - static_assert((std::is_same<decltype(std::mbstowcs(pw,"",0)), std::size_t>::value), ""); - static_assert((std::is_same<decltype(std::wcstombs(pc,pwc,0)), std::size_t>::value), ""); -} diff --git a/libcxx/test/language.support/support.runtime/ctime.pass.cpp b/libcxx/test/language.support/support.runtime/ctime.pass.cpp deleted file mode 100644 index 495d6eb2c66..00000000000 --- a/libcxx/test/language.support/support.runtime/ctime.pass.cpp +++ /dev/null @@ -1,40 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 <ctime> - -#include <ctime> -#include <type_traits> - -#ifndef NULL -#error NULL not defined -#endif - -#ifndef CLOCKS_PER_SEC -#error CLOCKS_PER_SEC not defined -#endif - -int main() -{ - std::clock_t c = 0; - std::size_t s = 0; - std::time_t t = 0; - std::tm tm = {0}; - static_assert((std::is_same<decltype(std::clock()), std::clock_t>::value), ""); - static_assert((std::is_same<decltype(std::difftime(t,t)), double>::value), ""); - static_assert((std::is_same<decltype(std::mktime(&tm)), std::time_t>::value), ""); - static_assert((std::is_same<decltype(std::time(&t)), std::time_t>::value), ""); - static_assert((std::is_same<decltype(std::asctime(&tm)), char*>::value), ""); - static_assert((std::is_same<decltype(std::ctime(&t)), char*>::value), ""); - static_assert((std::is_same<decltype(std::gmtime(&t)), std::tm*>::value), ""); - static_assert((std::is_same<decltype(std::localtime(&t)), std::tm*>::value), ""); - char* c1 = 0; - const char* c2 = 0; - static_assert((std::is_same<decltype(std::strftime(c1,s,c2,&tm)), std::size_t>::value), ""); -} diff --git a/libcxx/test/language.support/support.runtime/version_csetjmp.pass.cpp b/libcxx/test/language.support/support.runtime/version_csetjmp.pass.cpp deleted file mode 100644 index 7e37716d014..00000000000 --- a/libcxx/test/language.support/support.runtime/version_csetjmp.pass.cpp +++ /dev/null @@ -1,20 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// <csetjmp> - -#include <csetjmp> - -#ifndef _LIBCPP_VERSION -#error _LIBCPP_VERSION not defined -#endif - -int main() -{ -} diff --git a/libcxx/test/language.support/support.runtime/version_csignal.pass.cpp b/libcxx/test/language.support/support.runtime/version_csignal.pass.cpp deleted file mode 100644 index be1045f1eb3..00000000000 --- a/libcxx/test/language.support/support.runtime/version_csignal.pass.cpp +++ /dev/null @@ -1,20 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// <csignal> - -#include <csignal> - -#ifndef _LIBCPP_VERSION -#error _LIBCPP_VERSION not defined -#endif - -int main() -{ -} diff --git a/libcxx/test/language.support/support.runtime/version_cstdarg.pass.cpp b/libcxx/test/language.support/support.runtime/version_cstdarg.pass.cpp deleted file mode 100644 index f3ca9389b15..00000000000 --- a/libcxx/test/language.support/support.runtime/version_cstdarg.pass.cpp +++ /dev/null @@ -1,20 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// <cstdarg> - -#include <cstdarg> - -#ifndef _LIBCPP_VERSION -#error _LIBCPP_VERSION not defined -#endif - -int main() -{ -} diff --git a/libcxx/test/language.support/support.runtime/version_cstdbool.pass.cpp b/libcxx/test/language.support/support.runtime/version_cstdbool.pass.cpp deleted file mode 100644 index 0415227e58e..00000000000 --- a/libcxx/test/language.support/support.runtime/version_cstdbool.pass.cpp +++ /dev/null @@ -1,20 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// <cstdbool> - -#include <cstdbool> - -#ifndef _LIBCPP_VERSION -#error _LIBCPP_VERSION not defined -#endif - -int main() -{ -} diff --git a/libcxx/test/language.support/support.runtime/version_cstdlib.pass.cpp b/libcxx/test/language.support/support.runtime/version_cstdlib.pass.cpp deleted file mode 100644 index db419524f57..00000000000 --- a/libcxx/test/language.support/support.runtime/version_cstdlib.pass.cpp +++ /dev/null @@ -1,20 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// <cstdlib> - -#include <cstdlib> - -#ifndef _LIBCPP_VERSION -#error _LIBCPP_VERSION not defined -#endif - -int main() -{ -} diff --git a/libcxx/test/language.support/support.runtime/version_ctime.pass.cpp b/libcxx/test/language.support/support.runtime/version_ctime.pass.cpp deleted file mode 100644 index ce0bf2cf185..00000000000 --- a/libcxx/test/language.support/support.runtime/version_ctime.pass.cpp +++ /dev/null @@ -1,20 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// <ctime> - -#include <ctime> - -#ifndef _LIBCPP_VERSION -#error _LIBCPP_VERSION not defined -#endif - -int main() -{ -} diff --git a/libcxx/test/language.support/support.start.term/quick_exit.pass.cpp b/libcxx/test/language.support/support.start.term/quick_exit.pass.cpp deleted file mode 100644 index bcfdbb75402..00000000000 --- a/libcxx/test/language.support/support.start.term/quick_exit.pass.cpp +++ /dev/null @@ -1,23 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 quick_exit and at_quick_exit - -#include <cstdlib> - -void f() {} - -int main() -{ -#ifdef _LIBCPP_HAS_QUICK_EXIT - std::at_quick_exit(f); - std::quick_exit(0); -#endif -} diff --git a/libcxx/test/language.support/support.start.term/quick_exit_check1.fail.cpp b/libcxx/test/language.support/support.start.term/quick_exit_check1.fail.cpp deleted file mode 100644 index 8b972937916..00000000000 --- a/libcxx/test/language.support/support.start.term/quick_exit_check1.fail.cpp +++ /dev/null @@ -1,25 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 referencing at_quick_exit when _LIBCPP_HAS_QUICK_EXIT is not defined -// results in a compile error. - -#include <cstdlib> - -void f() {} - -int main() -{ -#ifndef _LIBCPP_HAS_QUICK_EXIT - std::at_quick_exit(f); -#else -#error -#endif -} diff --git a/libcxx/test/language.support/support.start.term/quick_exit_check2.fail.cpp b/libcxx/test/language.support/support.start.term/quick_exit_check2.fail.cpp deleted file mode 100644 index 39591413682..00000000000 --- a/libcxx/test/language.support/support.start.term/quick_exit_check2.fail.cpp +++ /dev/null @@ -1,25 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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 referencing quick_exit when _LIBCPP_HAS_QUICK_EXIT is not defined -// results in a compile error. - -#include <cstdlib> - -void f() {} - -int main() -{ -#ifndef _LIBCPP_HAS_QUICK_EXIT - std::quick_exit(0); -#else -#error -#endif -} diff --git a/libcxx/test/language.support/support.types/max_align_t.pass.cpp b/libcxx/test/language.support/support.types/max_align_t.pass.cpp deleted file mode 100644 index 08a6c28a4c1..00000000000 --- a/libcxx/test/language.support/support.types/max_align_t.pass.cpp +++ /dev/null @@ -1,34 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -#include <cstddef> -#include <type_traits> - -// max_align_t is a POD type whose alignment requirement is at least as -// great as that of every scalar type - -#include <stdio.h> - -int main() -{ - static_assert(std::is_pod<std::max_align_t>::value, - "std::is_pod<std::max_align_t>::value"); - static_assert((std::alignment_of<std::max_align_t>::value >= - std::alignment_of<long long>::value), - "std::alignment_of<std::max_align_t>::value >= " - "std::alignment_of<long long>::value"); - static_assert(std::alignment_of<std::max_align_t>::value >= - std::alignment_of<long double>::value, - "std::alignment_of<std::max_align_t>::value >= " - "std::alignment_of<long double>::value"); - static_assert(std::alignment_of<std::max_align_t>::value >= - std::alignment_of<void*>::value, - "std::alignment_of<std::max_align_t>::value >= " - "std::alignment_of<void*>::value"); -} diff --git a/libcxx/test/language.support/support.types/null.pass.cpp b/libcxx/test/language.support/support.types/null.pass.cpp deleted file mode 100644 index 7e31a8525c0..00000000000 --- a/libcxx/test/language.support/support.types/null.pass.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -#include <cstddef> - -#ifndef NULL -#error NULL not defined -#endif - -int main() -{ -} diff --git a/libcxx/test/language.support/support.types/nullptr_t.pass.cpp b/libcxx/test/language.support/support.types/nullptr_t.pass.cpp deleted file mode 100644 index 4d7c8b0bc0a..00000000000 --- a/libcxx/test/language.support/support.types/nullptr_t.pass.cpp +++ /dev/null @@ -1,79 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -#include <cstddef> -#include <type_traits> -#include <cassert> - -// typedef decltype(nullptr) nullptr_t; - -struct A -{ - A(std::nullptr_t) {} -}; - -template <class T> -void test_conversions() -{ - { - T p = 0; - assert(p == nullptr); - } - { - T p = nullptr; - assert(p == nullptr); - assert(nullptr == p); - assert(!(p != nullptr)); - assert(!(nullptr != p)); - } -} - -template <class T> -void test_comparisons() -{ - T p = nullptr; - assert(p == nullptr); - assert(p <= nullptr); - assert(p >= nullptr); - assert(!(p != nullptr)); - assert(!(p < nullptr)); - assert(!(p > nullptr)); - assert(nullptr == p); - assert(nullptr <= p); - assert(nullptr >= p); - assert(!(nullptr != p)); - assert(!(nullptr < p)); - assert(!(nullptr > p)); -} - - -int main() -{ - static_assert(sizeof(std::nullptr_t) == sizeof(void*), - "sizeof(std::nullptr_t) == sizeof(void*)"); - - { - test_conversions<std::nullptr_t>(); - test_conversions<void*>(); - test_conversions<A*>(); - test_conversions<void(*)()>(); - test_conversions<void(A::*)()>(); - test_conversions<int A::*>(); - } - { - test_comparisons<std::nullptr_t>(); - test_comparisons<void*>(); - test_comparisons<A*>(); - test_comparisons<void(*)()>(); - } - { - bool b = nullptr; - assert(!b); - } -} diff --git a/libcxx/test/language.support/support.types/nullptr_t_integral_cast.fail.cpp b/libcxx/test/language.support/support.types/nullptr_t_integral_cast.fail.cpp deleted file mode 100644 index 92bd87943e1..00000000000 --- a/libcxx/test/language.support/support.types/nullptr_t_integral_cast.fail.cpp +++ /dev/null @@ -1,17 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// typedef decltype(nullptr) nullptr_t; - -#include <cstddef> - -int main() -{ - std::ptrdiff_t i = static_cast<std::ptrdiff_t>(nullptr); -} diff --git a/libcxx/test/language.support/support.types/nullptr_t_integral_cast.pass.cpp b/libcxx/test/language.support/support.types/nullptr_t_integral_cast.pass.cpp deleted file mode 100644 index 34c7a93e41c..00000000000 --- a/libcxx/test/language.support/support.types/nullptr_t_integral_cast.pass.cpp +++ /dev/null @@ -1,24 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// NOTE: nullptr_t emulation cannot handle a reinterpret_cast to an -// integral type -// XFAIL: c++98, c++03 - -// typedef decltype(nullptr) nullptr_t; - - -#include <cstddef> -#include <cassert> - -int main() -{ - std::ptrdiff_t i = reinterpret_cast<std::ptrdiff_t>(nullptr); - assert(i == 0); -} diff --git a/libcxx/test/language.support/support.types/offsetof.pass.cpp b/libcxx/test/language.support/support.types/offsetof.pass.cpp deleted file mode 100644 index e36ac22974f..00000000000 --- a/libcxx/test/language.support/support.types/offsetof.pass.cpp +++ /dev/null @@ -1,26 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -#include <cstddef> - -#ifndef offsetof -#error offsetof not defined -#endif - -struct A -{ - int x; -}; - -int main() -{ -#if (__has_feature(cxx_noexcept)) - static_assert(noexcept(offsetof(A, x)), ""); -#endif -} diff --git a/libcxx/test/language.support/support.types/ptrdiff_t.pass.cpp b/libcxx/test/language.support/support.types/ptrdiff_t.pass.cpp deleted file mode 100644 index 702ec720a91..00000000000 --- a/libcxx/test/language.support/support.types/ptrdiff_t.pass.cpp +++ /dev/null @@ -1,27 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -#include <cstddef> -#include <type_traits> - -// ptrdiff_t should: - -// 1. be in namespace std. -// 2. be the same sizeof as void*. -// 3. be a signed integral. - -int main() -{ - static_assert(sizeof(std::ptrdiff_t) == sizeof(void*), - "sizeof(std::ptrdiff_t) == sizeof(void*)"); - static_assert(std::is_signed<std::ptrdiff_t>::value, - "std::is_signed<std::ptrdiff_t>::value"); - static_assert(std::is_integral<std::ptrdiff_t>::value, - "std::is_integral<std::ptrdiff_t>::value"); -} diff --git a/libcxx/test/language.support/support.types/size_t.pass.cpp b/libcxx/test/language.support/support.types/size_t.pass.cpp deleted file mode 100644 index bb3b0805b5a..00000000000 --- a/libcxx/test/language.support/support.types/size_t.pass.cpp +++ /dev/null @@ -1,27 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -#include <cstddef> -#include <type_traits> - -// size_t should: - -// 1. be in namespace std. -// 2. be the same sizeof as void*. -// 3. be an unsigned integral. - -int main() -{ - static_assert(sizeof(std::size_t) == sizeof(void*), - "sizeof(std::size_t) == sizeof(void*)"); - static_assert(std::is_unsigned<std::size_t>::value, - "std::is_unsigned<std::size_t>::value"); - static_assert(std::is_integral<std::size_t>::value, - "std::is_integral<std::size_t>::value"); -} diff --git a/libcxx/test/language.support/support.types/version.pass.cpp b/libcxx/test/language.support/support.types/version.pass.cpp deleted file mode 100644 index 2ab7c188de1..00000000000 --- a/libcxx/test/language.support/support.types/version.pass.cpp +++ /dev/null @@ -1,20 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// <cstddef> - -#include <cstddef> - -#ifndef _LIBCPP_VERSION -#error _LIBCPP_VERSION not defined -#endif - -int main() -{ -} |