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//===----------------------------------------------------------------------===// 9 10#include <stdio.h> 11#include <stdlib.h> 12 13namespace std { 14 15exception_ptr::~exception_ptr() noexcept { 16#warning exception_ptr not yet implemented 17 fprintf(stderr, "exception_ptr not yet implemented\n"); 18 ::abort(); 19} 20 21exception_ptr::exception_ptr(const exception_ptr& other) noexcept : __ptr_(other.__ptr_) { 22#warning exception_ptr not yet implemented 23 fprintf(stderr, "exception_ptr not yet implemented\n"); 24 ::abort(); 25} 26 27exception_ptr& exception_ptr::operator=(const exception_ptr& other) noexcept { 28#warning exception_ptr not yet implemented 29 fprintf(stderr, "exception_ptr not yet implemented\n"); 30 ::abort(); 31} 32 33nested_exception::nested_exception() noexcept : __ptr_(current_exception()) {} 34 35#if !defined(__GLIBCXX__) 36 37nested_exception::~nested_exception() noexcept {} 38 39#endif 40 41_LIBCPP_NORETURN void nested_exception::rethrow_nested() const { 42#warning exception_ptr not yet implemented 43 fprintf(stderr, "exception_ptr not yet implemented\n"); 44 ::abort(); 45#if 0 46 if (__ptr_ == nullptr) 47 terminate(); 48 rethrow_exception(__ptr_); 49#endif // FIXME 50} 51 52exception_ptr current_exception() noexcept { 53#warning exception_ptr not yet implemented 54 fprintf(stderr, "exception_ptr not yet implemented\n"); 55 ::abort(); 56} 57 58_LIBCPP_NORETURN void rethrow_exception(exception_ptr p) { 59#warning exception_ptr not yet implemented 60 fprintf(stderr, "exception_ptr not yet implemented\n"); 61 ::abort(); 62} 63 64} // namespace std 65