Home | History | Annotate | Download | only in support.runtime
      1 //===----------------------------------------------------------------------===//
      2 //
      3 //                     The LLVM Compiler Infrastructure
      4 //
      5 // This file is dual licensed under the MIT and the University of Illinois Open
      6 // Source Licenses. See LICENSE.TXT for details.
      7 //
      8 //===----------------------------------------------------------------------===//
      9 
     10 // test <csignal>
     11 
     12 #include <csignal>
     13 #include <type_traits>
     14 
     15 #ifndef SIG_DFL
     16 #error SIG_DFL not defined
     17 #endif
     18 
     19 #ifndef SIG_ERR
     20 #error SIG_ERR not defined
     21 #endif
     22 
     23 #ifndef SIG_IGN
     24 #error SIG_IGN not defined
     25 #endif
     26 
     27 #ifndef SIGABRT
     28 #error SIGABRT not defined
     29 #endif
     30 
     31 #ifndef SIGFPE
     32 #error SIGFPE not defined
     33 #endif
     34 
     35 #ifndef SIGILL
     36 #error SIGILL not defined
     37 #endif
     38 
     39 #ifndef SIGINT
     40 #error SIGINT not defined
     41 #endif
     42 
     43 #ifndef SIGSEGV
     44 #error SIGSEGV not defined
     45 #endif
     46 
     47 #ifndef SIGTERM
     48 #error SIGTERM not defined
     49 #endif
     50 
     51 int main()
     52 {
     53     std::sig_atomic_t sig;
     54     typedef void (*func)(int);
     55     static_assert((std::is_same<decltype(std::signal(0, (func)0)), func>::value), "");
     56     static_assert((std::is_same<decltype(std::raise(0)), int>::value), "");
     57 }
     58