/* SPDX-License-Identifier: GPL-2.0-only or License-Ref-kk-custom */
// vi:set ft=cpp: -*- Mode: C++ -*-
/*
 * Copyright (C) 2020-2021, 2024 Kernkonzept GmbH.
 * Author(s): Frank Mehnert <frank.mehnert@kernkonzept.com>
 *
 */
#pragma once

#include <exception>
#include <initializer_list>

namespace std { namespace L4 {

// See <l4/cxx/exceptions>
#ifdef L4_CXX_NO_EXCEPTION_BACKTRACE
void terminate_handler_no_exc_backtrace();
#else
void terminate_handler_exc_backtrace();
#endif

namespace {

static const auto install_terminate_handler
{
#ifdef L4_CXX_NO_EXCEPTION_BACKTRACE
  std::set_terminate(&terminate_handler_no_exc_backtrace)
#else
  std::set_terminate(&terminate_handler_exc_backtrace)
#endif
};

} } }
