aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2002-02-28 20:49:00 -0500
committerJason Merrill <jason@gcc.gnu.org>2002-02-28 20:49:00 -0500
commit6f30f1f13ccfb32f8a45daa3e6ac4599d9813b8a (patch)
treeb629fbdbb8ced39d7c5c023b8e9b14061bff1de5 /gcc/tree.h
parente38ff265dab5f9cf6bb7cf00db5c5dce04b43cad (diff)
downloadgcc-6f30f1f13ccfb32f8a45daa3e6ac4599d9813b8a.zip
gcc-6f30f1f13ccfb32f8a45daa3e6ac4599d9813b8a.tar.gz
gcc-6f30f1f13ccfb32f8a45daa3e6ac4599d9813b8a.tar.bz2
tree.h (TARGET_EXPR_SLOT, [...]): New macros.
* tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros. (TARGET_EXPR_CLEANUP): New macro. cp/ * except.c: Don't include decl.h or obstack.h. Do include tree-inline.h. (build_throw): Destroy temporaries from the thrown expression before calling __cxa_throw. Construct a thrown temporary directly into the exception object. (stabilize_throw_expr): New function. (wrap_cleanups_r): New function. * tree.c (stabilize_expr): New function. * init.c (build_init): New function. * Make-lang.in (cp/except.o): Adjust .h deps. From-SVN: r50177
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index 06d9815..b13fc53 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -868,6 +868,11 @@ struct tree_vec
#define EXPR_WFL_SET_LINECOL(NODE, LINE, COL) \
(EXPR_WFL_LINECOL(NODE) = ((LINE) << 12) | ((COL) & 0xfff))
+/* In a TARGET_EXPR node. */
+#define TARGET_EXPR_SLOT(NODE) TREE_OPERAND (TARGET_EXPR_CHECK (NODE), 0)
+#define TARGET_EXPR_INITIAL(NODE) TREE_OPERAND (TARGET_EXPR_CHECK (NODE), 1)
+#define TARGET_EXPR_CLEANUP(NODE) TREE_OPERAND (TARGET_EXPR_CHECK (NODE), 2)
+
struct tree_exp
{
struct tree_common common;