OSDN Git Service

* cp-tree.h (check_return_expr): New function.
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 25 Sep 1999 18:10:04 +0000 (18:10 +0000)
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 25 Sep 1999 18:10:04 +0000 (18:10 +0000)
commit51046b655bf3a5903bc58edeb5ce7be6a09e530e
tree29d37f53a0796acd0b38eaf7a9a35991a1aa4bf6
parent8f3763647e78c8ebef9bcbd817f76849eabf9244
* cp-tree.h (check_return_expr): New function.
* decl.c (finish_constructor_body): New function.
(pushdecl): Put global friend functions in namespace binding
level, not the class binding level.
(finish_destructor_body): Make sure the dtor_label is always
defined.  Fix typo in comment.
(finish_function): Move generation of constructor-termination code
to semantic-analysis time.  Move generation of implicit `main'
return value to semantic-analysis time.
* semantics.c (finish_return_stmt): Generate goto's to
ctor_label/dtor_label here.  Use check_return_expr to do semantic
analysis on the returned expression.
* typeck.c (maybe_warn_about_returning_address_of_local): New
function split out from c_expand_return.
(check_return_expr): Likewise.
(c_expand_return): Just generate the RTL for the return.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29663 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/semantics.c
gcc/cp/typeck.c