• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// -*- C++ -*-
2//===----------------------------------------------------------------------===//
3//
4//                     The LLVM Compiler Infrastructure
5//
6// This file is dual licensed under the MIT and the University of Illinois Open
7// Source Licenses. See LICENSE.TXT for details.
8//
9//===----------------------------------------------------------------------===//
10
11#include <stdio.h>
12#include <stdlib.h>
13
14namespace std {
15
16exception_ptr::~exception_ptr() _NOEXCEPT
17{
18#  warning exception_ptr not yet implemented
19  fprintf(stderr, "exception_ptr not yet implemented\n");
20  ::abort();
21}
22
23exception_ptr::exception_ptr(const exception_ptr& other) _NOEXCEPT
24    : __ptr_(other.__ptr_)
25{
26#  warning exception_ptr not yet implemented
27  fprintf(stderr, "exception_ptr not yet implemented\n");
28  ::abort();
29}
30
31exception_ptr& exception_ptr::operator=(const exception_ptr& other) _NOEXCEPT
32{
33#  warning exception_ptr not yet implemented
34  fprintf(stderr, "exception_ptr not yet implemented\n");
35  ::abort();
36}
37
38nested_exception::nested_exception() _NOEXCEPT
39    : __ptr_(current_exception())
40{
41}
42
43#if !defined(__GLIBCXX__)
44
45nested_exception::~nested_exception() _NOEXCEPT
46{
47}
48
49#endif
50
51_LIBCPP_NORETURN
52void
53nested_exception::rethrow_nested() const
54{
55#  warning exception_ptr not yet implemented
56  fprintf(stderr, "exception_ptr not yet implemented\n");
57  ::abort();
58#if 0
59  if (__ptr_ == nullptr)
60      terminate();
61  rethrow_exception(__ptr_);
62#endif // FIXME
63}
64
65exception_ptr current_exception() _NOEXCEPT
66{
67#  warning exception_ptr not yet implemented
68  fprintf(stderr, "exception_ptr not yet implemented\n");
69  ::abort();
70}
71
72_LIBCPP_NORETURN
73void rethrow_exception(exception_ptr p)
74{
75#  warning exception_ptr not yet implemented
76  fprintf(stderr, "exception_ptr not yet implemented\n");
77  ::abort();
78}
79
80} // namespace std
81