diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2011-09-25 20:40:10 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2011-09-25 20:40:10 +0000 |
commit | ad1d36bafd1f18e33bd03169af788c6467f09c4d (patch) | |
tree | 9f6bbde3c9bf15f76ca025d853cd82821eb0fffd /gcc/ada/gcc-interface/ada-tree.h | |
parent | 6162cec0d9ca47c71ab3b0effe544d53ce27e3c8 (diff) | |
download | gcc-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.h | 9 |
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) |