Ruby 3.3.7p123 (2025-01-15 revision be31f993d7fa0219d85f7b3c694d454da4ecc10b)
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# if defined(HAVE_STDBOOL_H) && (__cplusplus >= 201103L)
31# include <cstdbool>
32# endif
33#
34# ifndef __bool_true_false_are_defined
35# define __bool_true_false_are_defined
36# endif
37
38#elif defined(HAVE_STDBOOL_H)
39# /* Take stdbool.h definition. */
40# include <stdbool.h>
41
42#elif !defined(HAVE__BOOL)
43typedef unsigned char _Bool;
44# /* See also http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2229.htm */
45# define bool _Bool
46# define true ((_Bool)+1)
47# define false ((_Bool)+0)
48# define __bool_true_false_are_defined
49#endif
50
51#endif /* RBIMPL_STDBOOL_H */
C99 shim for <stdbool.h>