diff options
author | Mark Mitchell <mark@codesourcery.com> | 2002-03-15 20:08:39 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2002-03-15 20:08:39 +0000 |
commit | 6e4ae815bd9939ca44e61e28e5c27c347d9dae4f (patch) | |
tree | db4a627f532c42df854f6b4b67e6005e3d470c92 /gcc/c-semantics.c | |
parent | 08bcc159d9e63cd48eb12895f027e5d84d2ccd65 (diff) | |
download | gcc-6e4ae815bd9939ca44e61e28e5c27c347d9dae4f.zip gcc-6e4ae815bd9939ca44e61e28e5c27c347d9dae4f.tar.gz gcc-6e4ae815bd9939ca44e61e28e5c27c347d9dae4f.tar.bz2 |
c-common.c (statement_code_p): Handle CLEANUP_STMT.
* 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.
From-SVN: r50830
Diffstat (limited to 'gcc/c-semantics.c')
-rw-r--r-- | gcc/c-semantics.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/c-semantics.c b/gcc/c-semantics.c index 8f99bc1..3d8759d 100644 --- a/gcc/c-semantics.c +++ b/gcc/c-semantics.c @@ -847,6 +847,10 @@ expand_stmt (t) genrtl_scope_stmt (t); break; + case CLEANUP_STMT: + genrtl_decl_cleanup (CLEANUP_DECL (t), CLEANUP_EXPR (t)); + break; + default: if (lang_expand_stmt) (*lang_expand_stmt) (t); |