diff options
author | Mark Mitchell <mark@codesourcery.com> | 1999-11-12 16:52:08 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 1999-11-12 16:52:08 +0000 |
commit | d26f8097a31ff6a47d4b0861677ba44a8a25efec (patch) | |
tree | ca4319d8b6458e57f5d5a32ce72a5dfb816338ac /gcc/tree.h | |
parent | 109cceda875779c29ee0ed68cf8ad0d4d5d44ce5 (diff) | |
download | gcc-d26f8097a31ff6a47d4b0861677ba44a8a25efec.zip gcc-d26f8097a31ff6a47d4b0861677ba44a8a25efec.tar.gz gcc-d26f8097a31ff6a47d4b0861677ba44a8a25efec.tar.bz2 |
tree.h (SAVE_EXPR_PERSISTENT_P): New macro.
* tree.h (SAVE_EXPR_PERSISTENT_P): New macro.
* tree.c (array_type_nelts): Don't handle SAVE_EXPRs specially.
(unsave_expr_now): Don't unsave SAVE_EXPR_PERSISTENT_P
expressions.
* stor-layout.c (variable_size): Set SAVE_EXPR_PERSISTENT_P on
variable-sized array bounds.
From-SVN: r30503
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -717,6 +717,11 @@ struct tree_vec #define SAVE_EXPR_CONTEXT(NODE) TREE_OPERAND(NODE, 1) #define SAVE_EXPR_RTL(NODE) (*(struct rtx_def **) &EXPR_CHECK (NODE)->exp.operands[2]) #define SAVE_EXPR_NOPLACEHOLDER(NODE) TREE_UNSIGNED (NODE) +/* Nonzero if the SAVE_EXPRs value should be kept, even if it occurs + both in normal code and in a handler. (Normally, in a handler, all + SAVE_EXPRs are unsaved, meaning that there values are + recalculated.) */ +#define SAVE_EXPR_PERSISTENT_P(NODE) TREE_ASM_WRITTEN (NODE) /* In a RTL_EXPR node. */ #define RTL_EXPR_SEQUENCE(NODE) (*(struct rtx_def **) &EXPR_CHECK (NODE)->exp.operands[0]) |