1 //===----------------------------------------------------------------------===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 // REQUIRES: c++03 || c++11 || c++14
11 // test get_unexpected
17 #include "test_macros.h"
30 std::unexpected_handler old
= std::get_unexpected();
31 // verify there is a previous unexpected handler
33 std::set_unexpected(f1
);
34 assert(std::get_unexpected() == f1
);
35 // verify f1 was replace with f2
36 std::set_unexpected(f2
);
37 assert(std::get_unexpected() == f2
);
38 // verify calling original unexpected handler calls terminate
39 std::set_terminate(f3
);