clang 19.0.0git
stdbool.h
Go to the documentation of this file.
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#define __bool_true_false_are_defined 1
14
15#if defined(__MVS__) && __has_include_next(<stdbool.h>)
16#include_next <stdbool.h>
17#else
18
19#if defined(__STDC_VERSION__) && __STDC_VERSION__ > 201710L
20/* FIXME: We should be issuing a deprecation warning here, but cannot yet due
21 * to system headers which include this header file unconditionally.
22 */
23#elif !defined(__cplusplus)
24#define bool _Bool
25#define true 1
26#define false 0
27#elif defined(__GNUC__) && !defined(__STRICT_ANSI__)
28/* Define _Bool as a GNU extension. */
29#define _Bool bool
30#if defined(__cplusplus) && __cplusplus < 201103L
31/* For C++98, define bool, false, true as a GNU extension. */
32#define bool bool
33#define false false
34#define true true
35#endif
36#endif
37
38#endif /* __MVS__ */
39#endif /* __STDBOOL_H */