1e78f53d1SNikolas Klauser// -*- C++ -*- 2e78f53d1SNikolas Klauser//===----------------------------------------------------------------------===// 3e78f53d1SNikolas Klauser// 4e78f53d1SNikolas Klauser// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5e78f53d1SNikolas Klauser// See https://llvm.org/LICENSE.txt for license information. 6e78f53d1SNikolas Klauser// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7e78f53d1SNikolas Klauser// 8e78f53d1SNikolas Klauser//===----------------------------------------------------------------------===// 9e78f53d1SNikolas Klauser 10*ce777190SNikolas Klauser#ifndef _LIBCPP___CXX03_CSIGNAL 11*ce777190SNikolas Klauser#define _LIBCPP___CXX03_CSIGNAL 12e78f53d1SNikolas Klauser 13e78f53d1SNikolas Klauser/* 14e78f53d1SNikolas Klauser csignal synopsis 15e78f53d1SNikolas Klauser 16e78f53d1SNikolas KlauserMacros: 17e78f53d1SNikolas Klauser 18e78f53d1SNikolas Klauser SIG_DFL 19e78f53d1SNikolas Klauser SIG_ERR 20e78f53d1SNikolas Klauser SIG_IGN 21e78f53d1SNikolas Klauser SIGABRT 22e78f53d1SNikolas Klauser SIGFPE 23e78f53d1SNikolas Klauser SIGILL 24e78f53d1SNikolas Klauser SIGINT 25e78f53d1SNikolas Klauser SIGSEGV 26e78f53d1SNikolas Klauser SIGTERM 27e78f53d1SNikolas Klauser 28e78f53d1SNikolas Klausernamespace std 29e78f53d1SNikolas Klauser{ 30e78f53d1SNikolas Klauser 31e78f53d1SNikolas KlauserTypes: 32e78f53d1SNikolas Klauser 33e78f53d1SNikolas Klauser sig_atomic_t 34e78f53d1SNikolas Klauser 35e78f53d1SNikolas Klauservoid (*signal(int sig, void (*func)(int)))(int); 36e78f53d1SNikolas Klauserint raise(int sig); 37e78f53d1SNikolas Klauser 38e78f53d1SNikolas Klauser} // std 39e78f53d1SNikolas Klauser 40e78f53d1SNikolas Klauser*/ 41e78f53d1SNikolas Klauser 4273fbae83SNikolas Klauser#include <__cxx03/__config> 43e78f53d1SNikolas Klauser 44e78f53d1SNikolas Klauser// <signal.h> is not provided by libc++ 45e78f53d1SNikolas Klauser#if __has_include(<signal.h>) 46e78f53d1SNikolas Klauser# include <signal.h> 47*ce777190SNikolas Klauser# ifdef _LIBCPP___CXX03_SIGNAL_H 48e78f53d1SNikolas Klauser# error "If libc++ starts defining <signal.h>, the __has_include check should move to libc++'s <signal.h>" 49e78f53d1SNikolas Klauser# endif 50e78f53d1SNikolas Klauser#endif 51e78f53d1SNikolas Klauser 52e78f53d1SNikolas Klauser#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 53e78f53d1SNikolas Klauser# pragma GCC system_header 54e78f53d1SNikolas Klauser#endif 55e78f53d1SNikolas Klauser 56e78f53d1SNikolas Klauser_LIBCPP_BEGIN_NAMESPACE_STD 57e78f53d1SNikolas Klauser 58e78f53d1SNikolas Klauserusing ::sig_atomic_t _LIBCPP_USING_IF_EXISTS; 59e78f53d1SNikolas Klauserusing ::signal _LIBCPP_USING_IF_EXISTS; 60e78f53d1SNikolas Klauserusing ::raise _LIBCPP_USING_IF_EXISTS; 61e78f53d1SNikolas Klauser 62e78f53d1SNikolas Klauser_LIBCPP_END_NAMESPACE_STD 63e78f53d1SNikolas Klauser 64*ce777190SNikolas Klauser#endif // _LIBCPP___CXX03_CSIGNAL 65