diff options
author | Pierre-Marie de Rodat <derodat@adacore.com> | 2016-10-11 10:19:39 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2016-10-11 10:19:39 +0000 |
commit | 08ef2c16779f0f1814cc1f49bf53e7504942f079 (patch) | |
tree | 17830370fb0bc223697052c20038f600115efa0e /gcc/ada/gcc-interface/gigi.h | |
parent | abb3ea16fa70565acae570e7410eb6702cf631ed (diff) | |
download | gcc-08ef2c16779f0f1814cc1f49bf53e7504942f079.zip gcc-08ef2c16779f0f1814cc1f49bf53e7504942f079.tar.gz gcc-08ef2c16779f0f1814cc1f49bf53e7504942f079.tar.bz2 |
utils2.c (build_binary_op): Add a NO_FOLD argument.
* gcc-interface/utils2.c (build_binary_op): Add a NO_FOLD
argument. Disable folding when true.
* gcc-interface/gigi.h (choices_to_gnu): Remove declaration.
(build_binary_op): Update signature and comment.
* gcc-interface/decl.c (choices_to_gnu): Make static. Disable
folding for all calls to build_binary_op.
From-SVN: r240978
Diffstat (limited to 'gcc/ada/gcc-interface/gigi.h')
-rw-r--r-- | gcc/ada/gcc-interface/gigi.h | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/gcc/ada/gcc-interface/gigi.h b/gcc/ada/gcc-interface/gigi.h index b4fa83f..b001b40 100644 --- a/gcc/ada/gcc-interface/gigi.h +++ b/gcc/ada/gcc-interface/gigi.h @@ -174,10 +174,6 @@ enum alias_set_op extern void relate_alias_sets (tree gnu_new_type, tree gnu_old_type, enum alias_set_op op); -/* Given a GNU tree and a GNAT list of choices, generate an expression to test - the value passed against the list of choices. */ -extern tree choices_to_gnu (tree operand, Node_Id choices); - /* Given GNAT_ENTITY, an object (constant, variable, parameter, exception) and GNU_TYPE, its corresponding GCC type, set Esize and Alignment to the size and alignment used by Gigi. Prefer SIZE over TYPE_SIZE if non-null. @@ -860,9 +856,11 @@ extern tree build_load_modify_store (tree dest, tree src, Node_Id gnat_node); /* Make a binary operation of kind OP_CODE. RESULT_TYPE is the type desired for the result. Usually the operation is to be performed in that type. For MODIFY_EXPR and ARRAY_REF, RESULT_TYPE may be 0 - in which case the type to be used will be derived from the operands. */ + in which case the type to be used will be derived from the operands. + Don't fold the result if NO_FOLD is true. */ extern tree build_binary_op (enum tree_code op_code, tree result_type, - tree left_operand, tree right_operand); + tree left_operand, tree right_operand, + bool no_fold=false); /* Similar, but make unary operation. */ extern tree build_unary_op (enum tree_code op_code, tree result_type, |