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