aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/ada-tree.def
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2008-11-09 09:50:02 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2008-11-09 09:50:02 +0000
commit82d3b03a3baf4681f3d4139fbc37c7e6cc92847f (patch)
tree702b82345e4f0709fa08788c1592629bc7f831e2 /gcc/ada/gcc-interface/ada-tree.def
parent52013b9baae8e58e75461d3ded8f806a4734c82f (diff)
downloadgcc-82d3b03a3baf4681f3d4139fbc37c7e6cc92847f.zip
gcc-82d3b03a3baf4681f3d4139fbc37c7e6cc92847f.tar.gz
gcc-82d3b03a3baf4681f3d4139fbc37c7e6cc92847f.tar.bz2
ada-tree.def (PLUS_NOMOD_EXPR): New tree code.
* gcc-interface/ada-tree.def (PLUS_NOMOD_EXPR): New tree code. (MINUS_NOMOD_EXPR): Likewise. * gcc-interface/utils2.c (build_binary_op) <PREINCREMENT_EXPR>: Make unreachable. <PLUS_NOMOD_EXPR>: New case. <MINUS_NOMOD_EXPR>: Likewise. * gcc-interface/trans.c (Loop_Statement_to_gnu): Build increment-and- assignment statement instead of using an increment operator. From-SVN: r141714
Diffstat (limited to 'gcc/ada/gcc-interface/ada-tree.def')
-rw-r--r--gcc/ada/gcc-interface/ada-tree.def8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ada/gcc-interface/ada-tree.def b/gcc/ada/gcc-interface/ada-tree.def
index 0a1949f..c046229 100644
--- a/gcc/ada/gcc-interface/ada-tree.def
+++ b/gcc/ada/gcc-interface/ada-tree.def
@@ -41,6 +41,14 @@ DEFTREECODE (UNCONSTRAINED_ARRAY_REF, "unconstrained_array_ref",
is an expression to be evaluated for side effects only. */
DEFTREECODE (NULL_EXPR, "null_expr", tcc_expression, 1)
+/* Same as PLUS_EXPR, except that no modulo reduction is applied.
+ This is used for loops and never shows up in the tree. */
+DEFTREECODE (PLUS_NOMOD_EXPR, "plus_nomod_expr", tcc_binary, 2)
+
+/* Same as MINUS_EXPR, except that no modulo reduction is applied.
+ This is used for loops and never shows up in the tree. */
+DEFTREECODE (MINUS_NOMOD_EXPR, "minus_nomod_expr", tcc_binary, 2)
+
/* Same as ADDR_EXPR, except that if the operand represents a bit field,
return the address of the byte containing the bit. This is used
for the 'Address attribute and never shows up in the tree. */