146035553Spatrick// -*- C++ -*- 2*4bdff4beSrobert//===----------------------------------------------------------------------===// 346035553Spatrick// 446035553Spatrick// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 546035553Spatrick// See https://llvm.org/LICENSE.txt for license information. 646035553Spatrick// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 746035553Spatrick// 846035553Spatrick//===----------------------------------------------------------------------===// 946035553Spatrick 1046035553Spatrick#ifndef _LIBCPP_CSIGNAL 1146035553Spatrick#define _LIBCPP_CSIGNAL 1246035553Spatrick 1346035553Spatrick/* 1446035553Spatrick csignal synopsis 1546035553Spatrick 1646035553SpatrickMacros: 1746035553Spatrick 1846035553Spatrick SIG_DFL 1946035553Spatrick SIG_ERR 2046035553Spatrick SIG_IGN 2146035553Spatrick SIGABRT 2246035553Spatrick SIGFPE 2346035553Spatrick SIGILL 2446035553Spatrick SIGINT 2546035553Spatrick SIGSEGV 2646035553Spatrick SIGTERM 2746035553Spatrick 2846035553Spatricknamespace std 2946035553Spatrick{ 3046035553Spatrick 3146035553SpatrickTypes: 3246035553Spatrick 3346035553Spatrick sig_atomic_t 3446035553Spatrick 3546035553Spatrickvoid (*signal(int sig, void (*func)(int)))(int); 3646035553Spatrickint raise(int sig); 3746035553Spatrick 3846035553Spatrick} // std 3946035553Spatrick 4046035553Spatrick*/ 4146035553Spatrick 42*4bdff4beSrobert#include <__assert> // all public C++ headers provide the assertion handler 4346035553Spatrick#include <__config> 44*4bdff4beSrobert 45*4bdff4beSrobert// <signal.h> is not provided by libc++ 46*4bdff4beSrobert#if __has_include(<signal.h>) 4746035553Spatrick# include <signal.h> 48*4bdff4beSrobert# ifdef _LIBCPP_SIGNAL_H 49*4bdff4beSrobert# error "If libc++ starts defining <signal.h>, the __has_include check should move to libc++'s <signal.h>" 50*4bdff4beSrobert# endif 51*4bdff4beSrobert#endif 5246035553Spatrick 5346035553Spatrick#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 5446035553Spatrick# pragma GCC system_header 5546035553Spatrick#endif 5646035553Spatrick 5746035553Spatrick_LIBCPP_BEGIN_NAMESPACE_STD 5846035553Spatrick 5976d0caaeSpatrickusing ::sig_atomic_t _LIBCPP_USING_IF_EXISTS; 6076d0caaeSpatrickusing ::signal _LIBCPP_USING_IF_EXISTS; 6176d0caaeSpatrickusing ::raise _LIBCPP_USING_IF_EXISTS; 6246035553Spatrick 6346035553Spatrick_LIBCPP_END_NAMESPACE_STD 6446035553Spatrick 6546035553Spatrick#endif // _LIBCPP_CSIGNAL 66