1a445151f4a1a9abf852cd7b84d6328687bb3294cHoward Hinnant//===----------------------------------------------------------------------===//
2a445151f4a1a9abf852cd7b84d6328687bb3294cHoward Hinnant//
3a445151f4a1a9abf852cd7b84d6328687bb3294cHoward Hinnant//                     The LLVM Compiler Infrastructure
4a445151f4a1a9abf852cd7b84d6328687bb3294cHoward Hinnant//
5a445151f4a1a9abf852cd7b84d6328687bb3294cHoward Hinnant// This file is dual licensed under the MIT and the University of Illinois Open
6a445151f4a1a9abf852cd7b84d6328687bb3294cHoward Hinnant// Source Licenses. See LICENSE.TXT for details.
7a445151f4a1a9abf852cd7b84d6328687bb3294cHoward Hinnant//
8a445151f4a1a9abf852cd7b84d6328687bb3294cHoward Hinnant//===----------------------------------------------------------------------===//
9a445151f4a1a9abf852cd7b84d6328687bb3294cHoward Hinnant
10a445151f4a1a9abf852cd7b84d6328687bb3294cHoward Hinnant// test get_terminate
11a445151f4a1a9abf852cd7b84d6328687bb3294cHoward Hinnant
12a445151f4a1a9abf852cd7b84d6328687bb3294cHoward Hinnant#include <exception>
13a445151f4a1a9abf852cd7b84d6328687bb3294cHoward Hinnant#include <cstdlib>
14a445151f4a1a9abf852cd7b84d6328687bb3294cHoward Hinnant#include <cassert>
15a445151f4a1a9abf852cd7b84d6328687bb3294cHoward Hinnant
16a445151f4a1a9abf852cd7b84d6328687bb3294cHoward Hinnantvoid f1() {}
17a445151f4a1a9abf852cd7b84d6328687bb3294cHoward Hinnantvoid f2() {}
18a445151f4a1a9abf852cd7b84d6328687bb3294cHoward Hinnant
19a445151f4a1a9abf852cd7b84d6328687bb3294cHoward Hinnantint main()
20a445151f4a1a9abf852cd7b84d6328687bb3294cHoward Hinnant{
21a445151f4a1a9abf852cd7b84d6328687bb3294cHoward Hinnant    std::set_terminate(f1);
22a445151f4a1a9abf852cd7b84d6328687bb3294cHoward Hinnant    assert(std::get_terminate() == f1);
23a445151f4a1a9abf852cd7b84d6328687bb3294cHoward Hinnant    std::set_terminate(f2);
24a445151f4a1a9abf852cd7b84d6328687bb3294cHoward Hinnant    assert(std::get_terminate() == f2);
25a445151f4a1a9abf852cd7b84d6328687bb3294cHoward Hinnant}
26