summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
Diffstat (limited to 'internal')
-rw-r--r--internal/stdbool.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/internal/stdbool.h b/internal/stdbool.h
index 4c103b4..e090e57 100644
--- a/internal/stdbool.h
+++ b/internal/stdbool.h
@@ -13,8 +13,22 @@
#ifdef HAVE_STDBOOL_H
# include <stdbool.h>
+#endif
+
+/* Note that we assume the compiler isn't C++. */
+#ifdef __bool_true_false_are_defined
+# undef bool
+# undef true
+# undef false
+# undef __bool_true_false_are_defined
#else
-# include "missing/stdbool.h"
+typedef unsigned char _Bool;
#endif
+/* See also http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2229.htm */
+#define bool _Bool
+#define true ((_Bool)+1)
+#define false ((_Bool)+0)
+#define __bool_true_false_are_defined
+
#endif /* INTERNAL_STDBOOL_H */