aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/ada-tree.h
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2011-09-25 20:40:10 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2011-09-25 20:40:10 +0000
commitad1d36bafd1f18e33bd03169af788c6467f09c4d (patch)
tree9f6bbde3c9bf15f76ca025d853cd82821eb0fffd /gcc/ada/gcc-interface/ada-tree.h
parent6162cec0d9ca47c71ab3b0effe544d53ce27e3c8 (diff)
downloadgcc-ad1d36bafd1f18e33bd03169af788c6467f09c4d.zip
gcc-ad1d36bafd1f18e33bd03169af788c6467f09c4d.tar.gz
gcc-ad1d36bafd1f18e33bd03169af788c6467f09c4d.tar.bz2
ada-tree.h (TREE_THIS_NOTRAP): Redefine.
* gcc-interface/ada-tree.h (TREE_THIS_NOTRAP): Redefine. * gcc-interface/trans.c (Identifier_to_gnu): Factor out common code in the by-ref case. Do not set TREE_READONLY on a renamed object. Set TREE_THIS_NOTRAP on UNCONSTRAINED_ARRAY_REF nodes. (Attribute_to_gnu) <Attr_Length>: Expand the use of the parameter cache to the indirect case. * gcc-interface/utils.c (convert) <UNCONSTRAINED_ARRAY_REF>: Preserve the TREE_THIS_NOTRAP flag. From-SVN: r179171
Diffstat (limited to 'gcc/ada/gcc-interface/ada-tree.h')
-rw-r--r--gcc/ada/gcc-interface/ada-tree.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ada/gcc-interface/ada-tree.h b/gcc/ada/gcc-interface/ada-tree.h
index 2d0e6e4..150dd86 100644
--- a/gcc/ada/gcc-interface/ada-tree.h
+++ b/gcc/ada/gcc-interface/ada-tree.h
@@ -426,6 +426,15 @@ do { \
SET_DECL_LANG_SPECIFIC (PARM_DECL_CHECK (NODE), X)
+/* Flags added to ref nodes. */
+
+/* Nonzero means this node will not trap. */
+#undef TREE_THIS_NOTRAP
+#define TREE_THIS_NOTRAP(NODE) \
+ (TREE_CHECK4 (NODE, INDIRECT_REF, ARRAY_REF, UNCONSTRAINED_ARRAY_REF, \
+ ARRAY_RANGE_REF)->base.nothrow_flag)
+
+
/* Fields and macros for statements. */
#define IS_ADA_STMT(NODE) \
(STATEMENT_CLASS_P (NODE) && TREE_CODE (NODE) >= STMT_STMT)