1
0
mirror of https://github.com/openbsd/src.git synced 2025-01-03 06:45:37 -08:00
openbsd-src/include/stdbool.h
daniel f7094e1118 These days pcc defines __GNUC__ and we don't support gcc2. Also needed
for upcoming CompCert port.

Final version of the diff is from kettenis@ with input from jsg@ and tedu@.

ok kettenis@, jsg@, "I agree" millert@
2015-09-04 23:47:09 +00:00

46 lines
922 B
C

/* $OpenBSD: stdbool.h,v 1.7 2015/09/04 23:47:09 daniel Exp $ */
/*
* Written by Marc Espie, September 25, 1999
* Public domain.
*/
#ifndef _STDBOOL_H_
#define _STDBOOL_H_
#ifndef __cplusplus
#if defined(__GNUC__) || \
(defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901)
/* Support for C99: type _Bool is already built-in. */
#define false 0
#define true 1
#else
/* `_Bool' type must promote to `int' or `unsigned int'. */
typedef enum {
false = 0,
true = 1
} _Bool;
/* And those constants must also be available as macros. */
#define false false
#define true true
#endif
/* User visible type `bool' is provided as a macro which may be redefined */
#define bool _Bool
#else /* __cplusplus */
#define _Bool bool
#define bool bool
#define false false
#define true true
#endif /* __cplusplus */
/* Inform that everything is fine */
#define __bool_true_false_are_defined 1
#endif /* _STDBOOL_H_ */