[BACK]Return to stdbool.h CVS log [TXT][DIR] Up to [local] / src / include

Annotation of src/include/stdbool.h, Revision 1.5

1.5     ! guenther    1: /* $OpenBSD: stdbool.h,v 1.4 2007/10/02 14:06:16 otto Exp $ */
1.2       espie       2:
                      3: /*
                      4:  * Written by Marc Espie, September 25, 1999
                      5:  * Public domain.
                      6:  */
                      7:
1.1       espie       8: #ifndef        _STDBOOL_H_
                      9: #define        _STDBOOL_H_
                     10:
1.3       espie      11: #ifndef __cplusplus
                     12:
1.5     ! guenther   13: #if (defined(__GNUC__) && __GNUC__ >= 3) || defined(__PCC__) || defined(lint)
1.3       espie      14: /* Support for _C99: type _Bool is already built-in. */
                     15: #define false  0
                     16: #define true   1
                     17:
                     18: #else
1.1       espie      19: /* `_Bool' type must promote to `int' or `unsigned int'. */
                     20: typedef enum {
                     21:        false = 0,
                     22:        true = 1
                     23: } _Bool;
                     24:
                     25: /* And those constants must also be available as macros. */
                     26: #define        false   false
                     27: #define        true    true
                     28:
1.3       espie      29: #endif
                     30:
1.1       espie      31: /* User visible type `bool' is provided as a macro which may be redefined */
                     32: #define bool _Bool
1.3       espie      33:
                     34: #else /* __cplusplus */
                     35: #define _Bool  bool
                     36: #define bool   bool
                     37: #define false  false
                     38: #define true   true
                     39: #endif /* __cplusplus */
1.1       espie      40:
                     41: /* Inform that everything is fine */
                     42: #define __bool_true_false_are_defined 1
                     43:
                     44: #endif /* _STDBOOL_H_ */