Mercurial > hg > octave-lojdl > gnulib-hg
annotate tests/test-signal-h.c @ 17476:6057744acd2c default tip master
autoupdate
author | Karl Berry <karl@freefriends.org> |
---|---|
date | Fri, 16 Aug 2013 06:32:22 -0700 |
parents | e542fd46ad6f |
children |
rev | line source |
---|---|
15758 | 1 /* Test of <signal.h> substitute. |
17249
e542fd46ad6f
maint: update all copyright year number ranges
Eric Blake <eblake@redhat.com>
parents:
16201
diff
changeset
|
2 Copyright (C) 2009-2013 Free Software Foundation, Inc. |
15758 | 3 |
4 This program is free software: you can redistribute it and/or modify | |
5 it under the terms of the GNU General Public License as published by | |
6 the Free Software Foundation; either version 3 of the License, or | |
7 (at your option) any later version. | |
8 | |
9 This program is distributed in the hope that it will be useful, | |
10 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 GNU General Public License for more details. | |
13 | |
14 You should have received a copy of the GNU General Public License | |
15 along with this program. If not, see <http://www.gnu.org/licenses/>. */ | |
16 | |
17 /* Written by Eric Blake <ebb9@byu.net>, 2009. */ | |
18 | |
19 #include <config.h> | |
20 | |
21 #include <signal.h> | |
22 | |
23 /* Check for required types. */ | |
24 struct | |
25 { | |
26 size_t a; | |
27 uid_t b; | |
28 volatile sig_atomic_t c; | |
29 sigset_t d; | |
30 pid_t e; | |
31 #if 0 | |
32 /* Not guaranteed by gnulib. */ | |
33 pthread_t f; | |
34 struct timespec g; | |
35 #endif | |
36 } s; | |
37 | |
38 /* Check that NSIG is defined. */ | |
39 int nsig = NSIG; | |
40 | |
41 int | |
42 main (void) | |
43 { | |
44 switch (0) | |
45 { | |
46 /* The following are guaranteed by C. */ | |
47 case 0: | |
48 case SIGABRT: | |
49 case SIGFPE: | |
50 case SIGILL: | |
51 case SIGINT: | |
52 case SIGSEGV: | |
53 case SIGTERM: | |
54 /* The following is guaranteed by gnulib. */ | |
55 #if GNULIB_SIGPIPE || defined SIGPIPE | |
56 case SIGPIPE: | |
57 #endif | |
58 /* Ensure no conflict with other standardized names. */ | |
59 #ifdef SIGALRM | |
60 case SIGALRM: | |
61 #endif | |
62 /* On Haiku, SIGBUS is mistakenly equal to SIGSEGV. */ | |
63 #if defined SIGBUS && SIGBUS != SIGSEGV | |
64 case SIGBUS: | |
65 #endif | |
66 #ifdef SIGCHLD | |
67 case SIGCHLD: | |
68 #endif | |
69 #ifdef SIGCONT | |
70 case SIGCONT: | |
71 #endif | |
72 #ifdef SIGHUP | |
73 case SIGHUP: | |
74 #endif | |
75 #ifdef SIGKILL | |
76 case SIGKILL: | |
77 #endif | |
78 #ifdef SIGQUIT | |
79 case SIGQUIT: | |
80 #endif | |
81 #ifdef SIGSTOP | |
82 case SIGSTOP: | |
83 #endif | |
84 #ifdef SIGTSTP | |
85 case SIGTSTP: | |
86 #endif | |
87 #ifdef SIGTTIN | |
88 case SIGTTIN: | |
89 #endif | |
90 #ifdef SIGTTOU | |
91 case SIGTTOU: | |
92 #endif | |
93 #ifdef SIGUSR1 | |
94 case SIGUSR1: | |
95 #endif | |
96 #ifdef SIGUSR2 | |
97 case SIGUSR2: | |
98 #endif | |
99 #ifdef SIGSYS | |
100 case SIGSYS: | |
101 #endif | |
102 #ifdef SIGTRAP | |
103 case SIGTRAP: | |
104 #endif | |
105 #ifdef SIGURG | |
106 case SIGURG: | |
107 #endif | |
108 #ifdef SIGVTALRM | |
109 case SIGVTALRM: | |
110 #endif | |
111 #ifdef SIGXCPU | |
112 case SIGXCPU: | |
113 #endif | |
114 #ifdef SIGXFSZ | |
115 case SIGXFSZ: | |
116 #endif | |
117 /* SIGRTMIN and SIGRTMAX need not be compile-time constants. */ | |
118 #if 0 | |
119 # ifdef SIGRTMIN | |
120 case SIGRTMIN: | |
121 # endif | |
122 # ifdef SIGRTMAX | |
123 case SIGRTMAX: | |
124 # endif | |
125 #endif | |
126 ; | |
127 } | |
128 return s.a + s.b + s.c + s.e; | |
129 } |