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