This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/12770] [tree-ssa] [eh] False warning about no return statement in function
- From: "cvs-commit at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 16 Nov 2003 23:01:06 -0000
- Subject: [Bug c++/12770] [tree-ssa] [eh] False warning about no return statement in function
- References: <20031024222640.12770.bangerth@dealii.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2003-11-16 23:01 -------
Subject: Bug 12770
CVSROOT: /cvs/gcc
Module name: gcc
Branch: tree-ssa-20020619-branch
Changes by: rth@gcc.gnu.org 2003-11-16 23:01:00
Modified files:
gcc : ChangeLog.tree-ssa gimple-low.c tree-dump.c
tree-eh.c tree-flow.h tree-optimize.c tree.h
Added files:
gcc/testsuite/g++.dg/eh: goto1.C
Log message:
PR c++/12770
* gimple-low.c (lower_stmt_body): Take a tree, not a tree*.
(lower_stmt): Handle EH nodes.
(lower_bind_expr): Remove fixme.
(block_may_fallthru): Move from tree-eh.c. Handle COND_EXPR,
BIND_EXPR, and TRY_FINALLY_EXPR.
(lower_cond_expr): Use it.
* tree-eh.c (collect_finally_tree): Ignore COND_EXPR and BIND_EXPR.
(replace_goto_queue_cond_clause): New.
(replace_goto_queue_1): Use it. Split out statement_list handling.
(replace_goto_queue_stmt_list): New.
(-block_may_fallthru): Move to gimple-low.c.
(lower_eh_constructs_1): Ignore BIND_EXPR.
* tree-flow.h (block_may_fallthru): Declare.
* tree-dump.c (dump_files): Exchange .eh and .lower passes.
* tree-optimize.c (tree_rest_of_compilation): Likewise.
* tree.h (enum tree_dump_index): Likewise.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.tree-ssa.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.2.873&r2=1.1.2.874
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/gimple-low.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.4.12&r2=1.1.4.13
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-dump.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.6.2.49&r2=1.6.2.50
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-eh.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.2.15&r2=1.1.2.16
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-flow.h.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.4.151&r2=1.1.4.152
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-optimize.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.4.71&r2=1.1.4.72
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.h.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.342.2.126&r2=1.342.2.127
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/eh/goto1.C.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=NONE&r2=1.1.2.1
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12770