aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/ada-tree.def
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2010-04-16 11:54:51 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2010-04-16 11:54:51 +0000
commitd88bbbb943151cd73871f5ece8bac7f4127f76bd (patch)
tree6a87c87320850dbe05f19ab839a5e767dc0c7bd0 /gcc/ada/gcc-interface/ada-tree.def
parent586388fd723b7c59d97304607357ca13dd3d20d9 (diff)
downloadgcc-d88bbbb943151cd73871f5ece8bac7f4127f76bd.zip
gcc-d88bbbb943151cd73871f5ece8bac7f4127f76bd.tar.gz
gcc-d88bbbb943151cd73871f5ece8bac7f4127f76bd.tar.bz2
ada-tree.def (LOOP_STMT): Change to 4-operand nodes.
* gcc-interface/ada-tree.def (LOOP_STMT): Change to 4-operand nodes. * gcc-interface/ada-tree.h (LOOP_STMT_TOP_COND, LOOP_STMT_BOT_COND): Merge into... (LOOP_STMT_COND): ...this. (LOOP_STMT_BOTTOM_COND_P): New flag. (LOOP_STMT_TOP_UPDATE_P): Likewise. * gcc-interface/trans.c (can_equal_min_or_max_val_p): New function. (can_equal_min_val_p): New static inline function. (can_equal_max_val_p): Likewise. (Loop_Statement_to_gnu): Use build4 in lieu of build5 and adjust to new LOOP_STMT semantics. Use two different strategies depending on whether optimization is enabled to translate the loop. (gnat_gimplify_stmt) <LOOP_STMT>: Adjust to new LOOP_STMT semantics. From-SVN: r158410
Diffstat (limited to 'gcc/ada/gcc-interface/ada-tree.def')
-rw-r--r--gcc/ada/gcc-interface/ada-tree.def11
1 files changed, 5 insertions, 6 deletions
diff --git a/gcc/ada/gcc-interface/ada-tree.def b/gcc/ada/gcc-interface/ada-tree.def
index 454b4bd..93967b5 100644
--- a/gcc/ada/gcc-interface/ada-tree.def
+++ b/gcc/ada/gcc-interface/ada-tree.def
@@ -61,12 +61,11 @@ DEFTREECODE (ATTR_ADDR_EXPR, "attr_addr_expr", tcc_reference, 1)
just returning the inner statement. */
DEFTREECODE (STMT_STMT, "stmt_stmt", tcc_statement, 1)
-/* A loop. LOOP_STMT_TOP_COND and LOOP_STMT_BOT_COND are the tests to exit a
- loop at the top and bottom respectively. LOOP_STMT_UPDATE is the statement
- to update the loop iterator at the continue point. LOOP_STMT_BODY are the
- statements in the body of the loop. LOOP_STMT_LABEL points to the
- LABEL_DECL of the end label of the loop. */
-DEFTREECODE (LOOP_STMT, "loop_stmt", tcc_statement, 5)
+/* A loop. LOOP_STMT_COND is the test to exit the loop. LOOP_STMT_UPDATE
+ is the statement to update the loop iteration variable at the continue
+ point. LOOP_STMT_BODY are the statements in the body of the loop. And
+ LOOP_STMT_LABEL points to the LABEL_DECL of the end label of the loop. */
+DEFTREECODE (LOOP_STMT, "loop_stmt", tcc_statement, 4)
/* Conditionally exit a loop. EXIT_STMT_COND is the condition, which, if
true, will cause the loop to be exited. If no condition is specified,