2008-02-29 03:45:29 +08:00
|
|
|
/*===---- stdbool.h - Standard header for booleans -------------------------===
|
|
|
|
*
|
2019-04-09 04:51:30 +08:00
|
|
|
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
|
|
* See https://llvm.org/LICENSE.txt for license information.
|
|
|
|
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
2008-02-29 03:45:29 +08:00
|
|
|
*
|
|
|
|
*===-----------------------------------------------------------------------===
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __STDBOOL_H
|
|
|
|
#define __STDBOOL_H
|
|
|
|
|
2010-09-29 12:57:11 +08:00
|
|
|
/* Don't define bool, true, and false in C++, except as a GNU extension. */
|
2008-02-29 03:45:29 +08:00
|
|
|
#ifndef __cplusplus
|
|
|
|
#define bool _Bool
|
|
|
|
#define true 1
|
|
|
|
#define false 0
|
2010-09-29 12:57:11 +08:00
|
|
|
#elif defined(__GNUC__) && !defined(__STRICT_ANSI__)
|
2017-12-08 16:28:08 +08:00
|
|
|
/* Define _Bool as a GNU extension. */
|
2010-09-29 12:57:11 +08:00
|
|
|
#define _Bool bool
|
2017-12-08 16:28:08 +08:00
|
|
|
#if __cplusplus < 201103L
|
|
|
|
/* For C++98, define bool, false, true as a GNU extension. */
|
2010-09-29 12:57:11 +08:00
|
|
|
#define bool bool
|
|
|
|
#define false false
|
|
|
|
#define true true
|
2008-02-29 03:45:29 +08:00
|
|
|
#endif
|
2017-12-08 16:28:08 +08:00
|
|
|
#endif
|
2008-02-29 03:45:29 +08:00
|
|
|
|
|
|
|
#define __bool_true_false_are_defined 1
|
|
|
|
|
|
|
|
#endif /* __STDBOOL_H */
|