diff options
author | Andrew Haley <aph@redhat.com> | 2004-06-26 10:10:25 +0000 |
---|---|---|
committer | Andrew Haley <aph@gcc.gnu.org> | 2004-06-26 10:10:25 +0000 |
commit | 5cb2183e8b41ade5f28abc19e852de9081434ae5 (patch) | |
tree | 739670d850e2307e3f9aad81c8740a8637a62fbc /gcc/tree.h | |
parent | 1ab3a0ade68ce42d89502f7eae5674df245de360 (diff) | |
download | gcc-5cb2183e8b41ade5f28abc19e852de9081434ae5.zip gcc-5cb2183e8b41ade5f28abc19e852de9081434ae5.tar.gz gcc-5cb2183e8b41ade5f28abc19e852de9081434ae5.tar.bz2 |
emit-rtl.c (set_mem_attributes_minus_bitpos): Check TREE_THIS_NOTRAP when setting MEM_NOTRAP_P.
2004-06-26 Andrew Haley <aph@redhat.com>
* emit-rtl.c (set_mem_attributes_minus_bitpos): Check
TREE_THIS_NOTRAP when setting MEM_NOTRAP_P.
* tree-eh.c (tree_could_trap_p): Check TREE_THIS_NOTRAP.
* tree.h (TREE_THIS_NOTRAP): New.
From-SVN: r83706
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -304,6 +304,9 @@ struct tree_common GTY(()) TYPE_ALIGN_OK in ..._TYPE + TREE_THIS_NOTRAP in + INDIRECT_REF + deprecated_flag: TREE_DEPRECATED in @@ -760,6 +763,12 @@ extern void tree_operand_check_failed (int, enum tree_code, If this bit is set in an expression, so is TREE_SIDE_EFFECTS. */ #define TREE_THIS_VOLATILE(NODE) ((NODE)->common.volatile_flag) +/* Nonzero means this node will not trap. In an INDIRECT_REF, means + accessing the memory pointed to won't generate a trap. However, + this only applies to an object when used appropriately: it doesn't + mean that writing a READONLY mem won't trap. */ +#define TREE_THIS_NOTRAP(NODE) ((NODE)->common.nothrow_flag) + /* In a VAR_DECL, PARM_DECL or FIELD_DECL, or any kind of ..._REF node, nonzero means it may not be the lhs of an assignment. */ #define TREE_READONLY(NODE) (NON_TYPE_CHECK (NODE)->common.readonly_flag) |