aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/cp-tree.h
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>2005-05-28 01:38:11 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2005-05-28 01:38:11 +0000
commited3d0b14125f1ff9f29d6cb14f6734ceeed6f622 (patch)
treefd13f92af3cb33e0387f4cd14cef0ef59efafcfc /gcc/cp/cp-tree.h
parent5d336d6dc025c6a9b1310aeb07a1a909c818116d (diff)
downloadgcc-ed3d0b14125f1ff9f29d6cb14f6734ceeed6f622.zip
gcc-ed3d0b14125f1ff9f29d6cb14f6734ceeed6f622.tar.gz
gcc-ed3d0b14125f1ff9f29d6cb14f6734ceeed6f622.tar.bz2
c-decl.c (add_stmt): Add C frontend specific version.
./: * c-decl.c (add_stmt): Add C frontend specific version. (stmts_are_full_exprs_p): Remove. * c-common.h (STMT_IS_FULL_EXPR_P): Remove. (stmts_are_full_exprs_p): Don't declare. * c-semantics.c (add_stmt): Remove. cp/: * semantics.c (add_stmt): Add C++ frontend specific version. * cp-tree.h (STMT_IS_FULL_EXPR_P): Define. (stmts_are_full_exprs_p): Declare. From-SVN: r100289
Diffstat (limited to 'gcc/cp/cp-tree.h')
-rw-r--r--gcc/cp/cp-tree.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index fc0e20c..f4f5a12 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -59,6 +59,7 @@ struct diagnostic_context;
ICS_ELLIPSIS_FLAG (in _CONV)
DECL_INITIALIZED_P (in VAR_DECL)
TYPENAME_IS_CLASS_P (in TYPENAME_TYPE)
+ STMT_IS_FULL_EXPR_P (in _STMT)
2: IDENTIFIER_OPNAME_P (in IDENTIFIER_NODE)
ICS_THIS_FLAG (in _CONV)
DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P (in VAR_DECL)
@@ -259,6 +260,11 @@ typedef struct ptrmem_cst * ptrmem_cst_t;
#define STATEMENT_LIST_TRY_BLOCK(NODE) \
TREE_LANG_FLAG_2 (STATEMENT_LIST_CHECK (NODE))
+/* Nonzero if this statement should be considered a full-expression,
+ i.e., if temporaries created during this statement should have
+ their destructors run at the end of this statement. */
+#define STMT_IS_FULL_EXPR_P(NODE) TREE_LANG_FLAG_1 ((NODE))
+
/* Marks the result of a statement expression. */
#define EXPR_STMT_STMT_EXPR_RESULT(NODE) \
TREE_LANG_FLAG_0 (EXPR_STMT_CHECK (NODE))
@@ -4063,6 +4069,7 @@ extern tree get_deferred_access_checks (void);
extern void pop_to_parent_deferring_access_checks (void);
extern void perform_deferred_access_checks (void);
extern void perform_or_defer_access_check (tree, tree);
+extern int stmts_are_full_exprs_p (void);
extern void init_cp_semantics (void);
extern tree do_poplevel (tree);
extern void add_decl_expr (tree);