mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-26 08:36:07 +00:00

When some headers are not available because we removed features like localization or threads, the compiler should not try to include these headers when building modules. To avoid that from happening, add a requires-declaration that is never satisfied when the configuration in use doesn't support a header. rdar://93777687 Differential Revision: https://reviews.llvm.org/D127127
62 lines
1.1 KiB
C++
62 lines
1.1 KiB
C++
// -*- C++ -*-
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef _LIBCPP_CSIGNAL
|
|
#define _LIBCPP_CSIGNAL
|
|
|
|
/*
|
|
csignal synopsis
|
|
|
|
Macros:
|
|
|
|
SIG_DFL
|
|
SIG_ERR
|
|
SIG_IGN
|
|
SIGABRT
|
|
SIGFPE
|
|
SIGILL
|
|
SIGINT
|
|
SIGSEGV
|
|
SIGTERM
|
|
|
|
namespace std
|
|
{
|
|
|
|
Types:
|
|
|
|
sig_atomic_t
|
|
|
|
void (*signal(int sig, void (*func)(int)))(int);
|
|
int raise(int sig);
|
|
|
|
} // std
|
|
|
|
*/
|
|
|
|
#include <__assert> // all public C++ headers provide the assertion handler
|
|
#include <__config>
|
|
|
|
#if __has_include(<signal.h>)
|
|
# include <signal.h>
|
|
#endif
|
|
|
|
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
|
# pragma GCC system_header
|
|
#endif
|
|
|
|
_LIBCPP_BEGIN_NAMESPACE_STD
|
|
|
|
using ::sig_atomic_t _LIBCPP_USING_IF_EXISTS;
|
|
using ::signal _LIBCPP_USING_IF_EXISTS;
|
|
using ::raise _LIBCPP_USING_IF_EXISTS;
|
|
|
|
_LIBCPP_END_NAMESPACE_STD
|
|
|
|
#endif // _LIBCPP_CSIGNAL
|