13e519524SHoward Hinnant// -*- C++ -*-
2eb8650a7SLouis Dionne//===----------------------------------------------------------------------===//
33e519524SHoward Hinnant//
457b08b09SChandler Carruth// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
557b08b09SChandler Carruth// See https://llvm.org/LICENSE.txt for license information.
657b08b09SChandler Carruth// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
73e519524SHoward Hinnant//
83e519524SHoward Hinnant//===----------------------------------------------------------------------===//
93e519524SHoward Hinnant
103e519524SHoward Hinnant#ifndef _LIBCPP_CSIGNAL
113e519524SHoward Hinnant#define _LIBCPP_CSIGNAL
123e519524SHoward Hinnant
133e519524SHoward Hinnant/*
143e519524SHoward Hinnant    csignal synopsis
153e519524SHoward Hinnant
163e519524SHoward HinnantMacros:
173e519524SHoward Hinnant
183e519524SHoward Hinnant    SIG_DFL
193e519524SHoward Hinnant    SIG_ERR
203e519524SHoward Hinnant    SIG_IGN
213e519524SHoward Hinnant    SIGABRT
223e519524SHoward Hinnant    SIGFPE
233e519524SHoward Hinnant    SIGILL
243e519524SHoward Hinnant    SIGINT
253e519524SHoward Hinnant    SIGSEGV
263e519524SHoward Hinnant    SIGTERM
273e519524SHoward Hinnant
283e519524SHoward Hinnantnamespace std
293e519524SHoward Hinnant{
303e519524SHoward Hinnant
313e519524SHoward HinnantTypes:
323e519524SHoward Hinnant
333e519524SHoward Hinnant    sig_atomic_t
343e519524SHoward Hinnant
353e519524SHoward Hinnantvoid (*signal(int sig, void (*func)(int)))(int);
363e519524SHoward Hinnantint raise(int sig);
373e519524SHoward Hinnant
383e519524SHoward Hinnant}  // std
393e519524SHoward Hinnant
403e519524SHoward Hinnant*/
413e519524SHoward Hinnant
42385cc25aSLouis Dionne#include <__assert> // all public C++ headers provide the assertion handler
433e519524SHoward Hinnant#include <__config>
44*0e9a01dcSLouis Dionne
45*0e9a01dcSLouis Dionne#if __has_include(<signal.h>)
463e519524SHoward Hinnant# include <signal.h>
47*0e9a01dcSLouis Dionne#endif
483e519524SHoward Hinnant
49073458b1SHoward Hinnant#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
503e519524SHoward Hinnant#  pragma GCC system_header
51073458b1SHoward Hinnant#endif
523e519524SHoward Hinnant
533e519524SHoward Hinnant_LIBCPP_BEGIN_NAMESPACE_STD
543e519524SHoward Hinnant
55a9c9183cSLouis Dionneusing ::sig_atomic_t _LIBCPP_USING_IF_EXISTS;
56a9c9183cSLouis Dionneusing ::signal _LIBCPP_USING_IF_EXISTS;
57a9c9183cSLouis Dionneusing ::raise _LIBCPP_USING_IF_EXISTS;
583e519524SHoward Hinnant
593e519524SHoward Hinnant_LIBCPP_END_NAMESPACE_STD
603e519524SHoward Hinnant
613e519524SHoward Hinnant#endif // _LIBCPP_CSIGNAL
62