Ruby 3.5.0dev (2025-02-22 revision 412997300569c1853c09813e4924b6df3d7e8669)
stdbool.h
Go to the documentation of this file.
1#ifndef RBIMPL_STDBOOL_H /*-*-C++-*-vi:se ft=cpp:*/
2#define RBIMPL_STDBOOL_H
23#include "ruby/internal/config.h"
24
25#if defined(__bool_true_false_are_defined)
26# /* Take that. */
27
28#elif defined(__cplusplus)
29# /* bool is a keyword in C++. */
30# ifndef __bool_true_false_are_defined
31# define __bool_true_false_are_defined
32# endif
33
34#elif defined(HAVE_STDBOOL_H)
35# /* Take stdbool.h definition. */
36# include <stdbool.h>
37
38#elif !defined(HAVE__BOOL)
39typedef unsigned char _Bool;
40# /* See also http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2229.htm */
41# define bool _Bool
42# define true ((_Bool)+1)
43# define false ((_Bool)+0)
44# define __bool_true_false_are_defined
45#endif
46
47#endif /* RBIMPL_STDBOOL_H */
C99 shim for <stdbool.h>