OSDN Git Service

* decl.c (get_atexit_fn_ptr_type): New function.
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 1 Jun 2007 00:44:36 +0000 (00:44 +0000)
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 1 Jun 2007 00:44:36 +0000 (00:44 +0000)
commit34382091d27e41e1f2ff4eafb3ffa434957c7a7a
tree420cff63564965826ce919df9219fa10d126d563
parentcc9b091305bb9e78deb2f4e1dc15c7771c4086a5
* decl.c (get_atexit_fn_ptr_type): New function.
(get_atexit_node): Use it.
(start_cleanup_fn): Likewise.
(register_dtor_fn): Use the object's destructor, instead of a
separate cleanup function, where possible.
* cp-tree.h (CPTI_ATEXIT_FN_PTR_TYPE): New enumerator.
(atexit_fn_ptr_type_node): New macro.
* decl2.c (build_cleanup): Use build_address.
* g++.dg/init/cleanup3.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125253 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/decl2.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/init/cleanup3.C [new file with mode: 0644]