diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2010-04-16 12:07:02 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2010-04-16 12:07:02 +0000 |
commit | 1139f2e89d9e5199b66b05caba688be566561f1f (patch) | |
tree | e240b2394edcddd159a273da457f7a4e17a8d5c9 /gcc/ada/gcc-interface/utils.c | |
parent | d88bbbb943151cd73871f5ece8bac7f4127f76bd (diff) | |
download | gcc-1139f2e89d9e5199b66b05caba688be566561f1f.zip gcc-1139f2e89d9e5199b66b05caba688be566561f1f.tar.gz gcc-1139f2e89d9e5199b66b05caba688be566561f1f.tar.bz2 |
decl.c (gnat_to_gnu_entity): Use boolean_type_node in lieu of integer_type_node for boolean operations.
* gcc-interface/decl.c (gnat_to_gnu_entity): Use boolean_type_node in
lieu of integer_type_node for boolean operations.
(choices_to_gnu): Likewise.
* gcc-interface/trans.c (Attribute_to_gnu): Likewise.
(Loop_Statement_to_gnu): Likewise.
(establish_gnat_vms_condition_handler): Likewise.
(Exception_Handler_to_gnu_sjlj): Likewise.
(gnat_to_gnu): Likewise.
(build_unary_op_trapv): Likewise.
(build_binary_op_trapv): Likewise.
(emit_range_check): Likewise.
(emit_index_check): Likewise.
(convert_with_check): Likewise.
* gcc-interface/utils.c (convert_vms_descriptor64): Likewise.
(convert_vms_descriptor32): Likewise.
(convert_vms_descriptor): Likewise.
* gcc-interface/utils2.c (nonbinary_modular_operation): Likewise.
(compare_arrays): Use boolean instead of integer constants.
(build_binary_op) <TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR,
TRUTH_OR_EXPR, TRUTH_XOR_EXPR>: New case. Check that the result type
is a boolean type.
<GE_EXPR, LE_EXPR, GT_EXPR, LT_EXPR>: Remove obsolete assertion.
<EQ_EXPR, NE_EXPR>: Check that the result type is a boolean type.
<PREINC/PREDECREMENT_EXPR, POSTINC/POSTDECREMENT_EXPR>: Delete.
<TRUTH_NOT_EXPR>: Check that the result type is a boolean type.
(build_unary_op): Use boolean_type_node in lieu of integer_type_node
for boolean operations.
(fill_vms_descriptor): Likewise. Fix formatting nits.
From-SVN: r158411
Diffstat (limited to 'gcc/ada/gcc-interface/utils.c')
-rw-r--r-- | gcc/ada/gcc-interface/utils.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/gcc/ada/gcc-interface/utils.c b/gcc/ada/gcc-interface/utils.c index 68a0d0f..916a432 100644 --- a/gcc/ada/gcc-interface/utils.c +++ b/gcc/ada/gcc-interface/utils.c @@ -3025,7 +3025,7 @@ convert_vms_descriptor64 (tree gnu_type, tree gnu_expr, Entity_Id gnat_subprog) /* Test that we really have a SB descriptor, like DEC Ada. */ t = build3 (COMPONENT_REF, TREE_TYPE (klass), desc, klass, NULL); u = convert (TREE_TYPE (klass), DECL_INITIAL (klass)); - u = build_binary_op (EQ_EXPR, integer_type_node, t, u); + u = build_binary_op (EQ_EXPR, boolean_type_node, t, u); /* If so, there is already a template in the descriptor and it is located right after the POINTER field. The fields are 64bits so they must be repacked. */ @@ -3063,12 +3063,12 @@ convert_vms_descriptor64 (tree gnu_type, tree gnu_expr, Entity_Id gnat_subprog) /* Raise CONSTRAINT_ERROR if either more than 1 dimension or FL_COEFF or FL_BOUNDS not set. */ u = build_int_cst (TREE_TYPE (aflags), 192); - u = build_binary_op (TRUTH_OR_EXPR, integer_type_node, - build_binary_op (NE_EXPR, integer_type_node, + u = build_binary_op (TRUTH_OR_EXPR, boolean_type_node, + build_binary_op (NE_EXPR, boolean_type_node, dimct, convert (TREE_TYPE (dimct), size_one_node)), - build_binary_op (NE_EXPR, integer_type_node, + build_binary_op (NE_EXPR, boolean_type_node, build2 (BIT_AND_EXPR, TREE_TYPE (aflags), aflags, u), @@ -3173,7 +3173,7 @@ convert_vms_descriptor32 (tree gnu_type, tree gnu_expr, Entity_Id gnat_subprog) /* Test that we really have a SB descriptor, like DEC Ada. */ t = build3 (COMPONENT_REF, TREE_TYPE (klass), desc, klass, NULL); u = convert (TREE_TYPE (klass), DECL_INITIAL (klass)); - u = build_binary_op (EQ_EXPR, integer_type_node, t, u); + u = build_binary_op (EQ_EXPR, boolean_type_node, t, u); /* If so, there is already a template in the descriptor and it is located right after the POINTER field. */ t = TREE_CHAIN (pointer); @@ -3196,12 +3196,12 @@ convert_vms_descriptor32 (tree gnu_type, tree gnu_expr, Entity_Id gnat_subprog) /* Raise CONSTRAINT_ERROR if either more than 1 dimension or FL_COEFF or FL_BOUNDS not set. */ u = build_int_cst (TREE_TYPE (aflags), 192); - u = build_binary_op (TRUTH_OR_EXPR, integer_type_node, - build_binary_op (NE_EXPR, integer_type_node, + u = build_binary_op (TRUTH_OR_EXPR, boolean_type_node, + build_binary_op (NE_EXPR, boolean_type_node, dimct, convert (TREE_TYPE (dimct), size_one_node)), - build_binary_op (NE_EXPR, integer_type_node, + build_binary_op (NE_EXPR, boolean_type_node, build2 (BIT_AND_EXPR, TREE_TYPE (aflags), aflags, u), @@ -3263,11 +3263,11 @@ convert_vms_descriptor (tree gnu_type, tree gnu_expr, tree gnu_expr_alt_type, mbo = build3 (COMPONENT_REF, TREE_TYPE (mbo), desc, mbo, NULL_TREE); mbmo = build3 (COMPONENT_REF, TREE_TYPE (mbmo), desc, mbmo, NULL_TREE); is64bit - = build_binary_op (TRUTH_ANDIF_EXPR, integer_type_node, - build_binary_op (EQ_EXPR, integer_type_node, + = build_binary_op (TRUTH_ANDIF_EXPR, boolean_type_node, + build_binary_op (EQ_EXPR, boolean_type_node, convert (integer_type_node, mbo), integer_one_node), - build_binary_op (EQ_EXPR, integer_type_node, + build_binary_op (EQ_EXPR, boolean_type_node, convert (integer_type_node, mbmo), integer_minus_one_node)); |