[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / libcxx / src / support / runtime / exception_pointer_unimplemented.ipp
blob9e8ec04e1196003a4281b18bc08d7b24685599b1
1 // -*- C++ -*-
2 //===----------------------------------------------------------------------===//
3 //
4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5 // See https://llvm.org/LICENSE.txt for license information.
6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //
8 //===----------------------------------------------------------------------===//
10 #include <stdio.h>
11 #include <stdlib.h>
13 namespace std {
15 exception_ptr::~exception_ptr() noexcept
17 #  warning exception_ptr not yet implemented
18   fprintf(stderr, "exception_ptr not yet implemented\n");
19   ::abort();
22 exception_ptr::exception_ptr(const exception_ptr& other) noexcept
23     : __ptr_(other.__ptr_)
25 #  warning exception_ptr not yet implemented
26   fprintf(stderr, "exception_ptr not yet implemented\n");
27   ::abort();
30 exception_ptr& exception_ptr::operator=(const exception_ptr& other) noexcept
32 #  warning exception_ptr not yet implemented
33   fprintf(stderr, "exception_ptr not yet implemented\n");
34   ::abort();
37 nested_exception::nested_exception() noexcept
38     : __ptr_(current_exception())
42 #if !defined(__GLIBCXX__)
44 nested_exception::~nested_exception() noexcept
48 #endif
50 _LIBCPP_NORETURN
51 void
52 nested_exception::rethrow_nested() const
54 #  warning exception_ptr not yet implemented
55   fprintf(stderr, "exception_ptr not yet implemented\n");
56   ::abort();
57 #if 0
58   if (__ptr_ == nullptr)
59       terminate();
60   rethrow_exception(__ptr_);
61 #endif // FIXME
64 exception_ptr current_exception() noexcept
66 #  warning exception_ptr not yet implemented
67   fprintf(stderr, "exception_ptr not yet implemented\n");
68   ::abort();
71 _LIBCPP_NORETURN
72 void rethrow_exception(exception_ptr p)
74 #  warning exception_ptr not yet implemented
75   fprintf(stderr, "exception_ptr not yet implemented\n");
76   ::abort();
79 } // namespace std