]> git.ipfire.org Git - thirdparty/gcc.git/commit
semantics.c (begin_function_try_block, [...]): New fns.
authorJason Merrill <jason@yorick.cygnus.com>
Mon, 9 Aug 1999 10:45:00 +0000 (10:45 +0000)
committerJason Merrill <jason@gcc.gnu.org>
Mon, 9 Aug 1999 10:45:00 +0000 (06:45 -0400)
commit0dde4175efc346c70069a8a090590d3e63be04fa
treea2b2205f5538c97f3d3612a644b1c184a46ccb8f
parentfb20fc45459ec031a10d83a5bc6327edbcad5176
semantics.c (begin_function_try_block, [...]): New fns.

* semantics.c (begin_function_try_block, finish_function_try_block,
finish_function_handler_sequence): New fns.
* parse.y (function_try_block): Use them.
* pt.c (instantiate_decl): Likewise.

* cp-tree.h: Declare in_function_try_handler.
* decl.c: Define it.
(start_function): Clear it.
(struct cp_function, push_cp_function_context): Save it.
(pop_cp_function_context): Restore it.
* parse.y (function_try_block): Set and clear it.
* except.c (expand_end_catch_block): Rethrow if we reach the end
of a function-try-block handler in a ctor or dtor.
* typeck.c (c_expand_return): Complain about returning from a
function-try-block handler of a ctor.

* parse.y (function_try_block): Call end_protect_partials
before expand_start_all_catch.

From-SVN: r28624
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/except.c
gcc/cp/parse.c
gcc/cp/parse.y
gcc/cp/pt.c
gcc/cp/semantics.c
gcc/cp/typeck.c