diff options
author | jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-11-13 14:14:44 +0000 |
---|---|---|
committer | jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-11-13 14:14:44 +0000 |
commit | 4f9a1c9b3be3ca4cb4139419f6f50a65557f229b (patch) | |
tree | f2b5f8cbfe56d1d0cc94e1b89e38e9cb318f7ece /gcc/ginclude | |
parent | fd39c7061c1c4ee70db69aeab96aea97db747af0 (diff) | |
download | gcc-4f9a1c9b3be3ca4cb4139419f6f50a65557f229b.tar.gz |
* c-common.c (boolean_increment): New function.
* c-common.h (enum c_tree_index): Add CTI_C_BOOL_TYPE,
CTI_C_BOOL_TRUE and CTI_C_BOOL_FALSE.
(c_bool_type_node, c_bool_true_node, c_bool_false_node): Define.
(boolean_increment): Declare.
* c-convert.c (convert): Allow for BOOLEAN_TYPE.
* c-decl.c (init_decl_processing): Create boolean nodes.
(finish_struct): Allow for _Bool bitfields.
* c-parse.in (reswords): Add _Bool.
(rid_to_yy): Allow for RID_BOOL.
* c-typeck.c (default_conversion): Make booleans promote to int.
(convert_arguments, build_unary_op, build_modify_expr,
convert_for_assignment): Allow for booleans.
* ginclude/stdbool.h: Make conforming to C99.
cp:
* typeck.c (build_unary_op): Use boolean_increment from
c-common.c, moving the relevant code there.
testsuite:
* gcc.dg/c99-bool-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37428 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ginclude')
-rw-r--r-- | gcc/ginclude/stdbool.h | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/gcc/ginclude/stdbool.h b/gcc/ginclude/stdbool.h index 1e49dc0fe74..33f7d3d4110 100644 --- a/gcc/ginclude/stdbool.h +++ b/gcc/ginclude/stdbool.h @@ -32,20 +32,10 @@ Boston, MA 02111-1307, USA. */ #define _STDBOOL_H #ifndef __cplusplus -/* The type `_Bool' must promote to `int' or `unsigned int'. The constants - `true' and `false' must have the value 0 and 1 respectively. */ -typedef enum - { - false = 0, - true = 1 - } _Bool; - -/* The names `true' and `false' must also be made available as macros. */ -#define false false -#define true true -/* The macro `bool', which may be undefined, expands to _Bool. */ -#define bool _Bool +#define bool _Bool +#define true 1 +#define false 0 #else /* __cplusplus */ |