diff options
3 files changed, 53 insertions, 2 deletions
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 index 1945a1ba199..3d950392dc2 100644 --- a/libcxx/test/language.support/support.start.term/quick_exit.pass.cpp +++ b/libcxx/test/language.support/support.start.term/quick_exit.pass.cpp @@ -12,12 +12,13 @@ // test quick_exit and at_quick_exit #include <cstdlib> -#include <type_traits> void f() {} int main() { +#ifdef _LIBCPP_HAS_QUICK_EXIT std::at_quick_exit(f); - quick_exit(0); + 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 new file mode 100644 index 00000000000..8b972937916 --- /dev/null +++ b/libcxx/test/language.support/support.start.term/quick_exit_check1.fail.cpp @@ -0,0 +1,25 @@ +//===----------------------------------------------------------------------===// +// +// 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 new file mode 100644 index 00000000000..39591413682 --- /dev/null +++ b/libcxx/test/language.support/support.start.term/quick_exit_check2.fail.cpp @@ -0,0 +1,25 @@ +//===----------------------------------------------------------------------===// +// +// 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 +} |