comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/textstyle/stdbool.h @ 69:33d812a61356

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 17:55:14 -0400
parents
children
comparison
equal deleted inserted replaced
67:0e9998148a16 69:33d812a61356
1 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
2 #if !defined _GL_STDBOOL_H
3 #if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95))
4 #include <stdbool.h>
5 #else
6 /* Copyright (C) 2001-2003, 2006-2017, 2019 Free Software Foundation, Inc.
7 Written by Bruno Haible <haible@clisp.cons.org>, 2001.
8
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU Lesser General Public License as published by
11 the Free Software Foundation; either version 2, or (at your option)
12 any later version.
13
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU Lesser General Public License for more details.
18
19 You should have received a copy of the GNU Lesser General Public License
20 along with this program; if not, see <https://www.gnu.org/licenses/>. */
21
22 #ifndef _TEXTSTYLE_STDBOOL_H
23 #define _TEXTSTYLE_STDBOOL_H
24
25 /* ISO C 99 <stdbool.h> for platforms that lack it. */
26
27 /* Usage suggestions:
28
29 Programs that use <stdbool.h> should be aware of some limitations
30 and standards compliance issues.
31
32 Standards compliance:
33
34 - <stdbool.h> must be #included before 'bool', 'false', 'true'
35 can be used.
36
37 - You cannot assume that sizeof (bool) == 1.
38
39 - Programs should not undefine the macros bool, true, and false,
40 as C99 lists that as an "obsolescent feature".
41
42 Limitations of this substitute, when used in a C89 environment:
43
44 - <stdbool.h> must be #included before the '_Bool' type can be used.
45
46 - You cannot assume that _Bool is a typedef; it might be a macro.
47
48 - Bit-fields of type 'bool' are not supported. Portable code
49 should use 'unsigned int foo : 1;' rather than 'bool foo : 1;'.
50
51 - In C99, casts and automatic conversions to '_Bool' or 'bool' are
52 performed in such a way that every nonzero value gets converted
53 to 'true', and zero gets converted to 'false'. This doesn't work
54 with this substitute. With this substitute, only the values 0 and 1
55 give the expected result when converted to _Bool' or 'bool'.
56
57 - C99 allows the use of (_Bool)0.0 in constant expressions, but
58 this substitute cannot always provide this property.
59
60 Also, it is suggested that programs use 'bool' rather than '_Bool';
61 this isn't required, but 'bool' is more common. */
62
63
64 /* 7.16. Boolean type and values */
65
66 #ifdef __cplusplus
67 /* Assume the compiler has 'bool' and '_Bool'. */
68 #else
69 /* <stdbool.h> is known to exist and work with the following compilers:
70 - GNU C 3.0 or newer, on any platform,
71 - Intel C,
72 - MSVC 12 (Visual Studio 2013) or newer,
73 - Sun C, on Solaris, if _STDC_C99 is defined,
74 - AIX xlc, if _ANSI_C_SOURCE is defined,
75 - HP C, on HP-UX 11.31 or newer.
76 It is know not to work with:
77 - Sun C, on Solaris, if __C99FEATURES__ is defined but _STDC_C99 is not,
78 - MIPSpro C 7.30, on IRIX. */
79 # if (__GNUC__ >= 3) \
80 || defined __INTEL_COMPILER \
81 || (_MSC_VER >= 1800) \
82 || (defined __SUNPRO_C && defined _STDC_C99) \
83 || (defined _AIX && !defined __GNUC__ && defined _ANSI_C_SOURCE) \
84 || defined __HP_cc
85 /* Assume the compiler has <stdbool.h>. */
86 # include <stdbool.h>
87 # else
88 /* Need to define _Bool ourselves. As 'signed char' or as an enum type?
89 Use of a typedef, with SunPRO C, leads to a stupid
90 "warning: _Bool is a keyword in ISO C99".
91 Use of an enum type, with IRIX cc, leads to a stupid
92 "warning(1185): enumerated type mixed with another type".
93 Even the existence of an enum type, without a typedef,
94 "Invalid enumerator. (badenum)" with HP-UX cc on Tru64.
95 The only benefit of the enum, debuggability, is not important
96 with these compilers. So use 'signed char' and no enum. */
97 # define _Bool signed char
98 # define bool _Bool
99 # endif
100 #endif
101
102 /* The other macros must be usable in preprocessor directives. */
103 #ifdef __cplusplus
104 # define false false
105 # define true true
106 #else
107 # undef false
108 # define false 0
109 # undef true
110 # define true 1
111 #endif
112
113 #define __bool_true_false_are_defined 1
114
115 #endif /* _TEXTSTYLE_STDBOOL_H */
116 #endif
117 #endif