summaryrefslogtreecommitdiff
path: root/gcc/tree-dump.c
diff options
context:
space:
mode:
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2002-03-15 20:08:39 +0000
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2002-03-15 20:08:39 +0000
commit7b6facbfebbdb440a4987249d026a84c73f6adeb (patch)
treedb4a627f532c42df854f6b4b67e6005e3d470c92 /gcc/tree-dump.c
parent87a9059882e0dd4fa7806a1100aa7b6bc55e38a9 (diff)
downloadgcc-7b6facbfebbdb440a4987249d026a84c73f6adeb.tar.gz
* c-common.c (statement_code_p): Handle CLEANUP_STMT.
* c-common.def (CLEANUP_STMT): New tree node. * c-common.h (CLEANUP_DECL): New macro. (CLEANUP_EXPR): Likewise. * c-semantics.c (expand_stmt): Handle CLEANUP_STMT. * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT. * tree-inline.c (initialize_inlined_parameters): Clean up new local variables. * cp-tree.h (CLEANUP_DECL): Remove. (CLEANUP_EXPR): Likewise. * decl.c (destroy_local_var): Simplify. (maybe_build_cleanup): Tidy. * dump.c (cp_dump_tree): Remove handling of CLEANUP_STMT. * semantics.c (cp_expand_stmt): Likewise. * cp/tree.c (cp_statement_code_p): Likewise. * g++.dg/opt/dtor1.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50830 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-dump.c')
-rw-r--r--gcc/tree-dump.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/tree-dump.c b/gcc/tree-dump.c
index 9eac6e075f1..d8d8e23ea5f 100644
--- a/gcc/tree-dump.c
+++ b/gcc/tree-dump.c
@@ -548,6 +548,13 @@ dequeue_and_dump (di)
dump_next_stmt (di, t);
break;
+ case CLEANUP_STMT:
+ dump_stmt (di, t);
+ dump_child ("decl", CLEANUP_DECL (t));
+ dump_child ("expr", CLEANUP_EXPR (t));
+ dump_next_stmt (di, t);
+ break;
+
case COMPOUND_STMT:
dump_stmt (di, t);
dump_child ("body", COMPOUND_BODY (t));