OSDN Git Service

PR middle-end/42859
authorabel <abel@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 10 Mar 2010 11:08:48 +0000 (11:08 +0000)
committerabel <abel@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 10 Mar 2010 11:08:48 +0000 (11:08 +0000)
commit778f5bdd1617b5cbb6cfc4cc22506ae86bd29065
tree78682def39936400a111fb29e15e1871abb31802
parent53d337172925a81f0f6086760c675ac0834d764d
PR middle-end/42859

    * tree-eh.c: Include pointer-set.h.
    (lower_eh_dispatch): Filter out duplicate case labels and
    remove the unneeded edge when the label is unused.  Return
    true when some edges are removed.
    (execute_lower_eh_dispatch): When any lowering resulted in
    removing an edge, also delete unreachable blocks.

    * g++.dg/eh/pr42859.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157337 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/eh/pr42859.C [new file with mode: 0644]
gcc/tree-eh.c