1/*===---- stdbool.h - Standard header for booleans -------------------------===
2 *
3 * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 * See https://llvm.org/LICENSE.txt for license information.
5 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 *
7 *===-----------------------------------------------------------------------===
8 */
9
10#ifndef __STDBOOL_H
11#define __STDBOOL_H
12
13/* Don't define bool, true, and false in C++, except as a GNU extension. */
14#ifndef __cplusplus
15#define bool _Bool
16#define true 1
17#define false 0
18#elif defined(__GNUC__) && !defined(__STRICT_ANSI__)
19/* Define _Bool as a GNU extension. */
20#define _Bool bool
21#if __cplusplus < 201103L
22/* For C++98, define bool, false, true as a GNU extension. */
23#define bool  bool
24#define false false
25#define true  true
26#endif
27#endif
28
29#define __bool_true_false_are_defined 1
30
31#endif /* __STDBOOL_H */
32