re PR tree-optimization/56501 (gcc 4.6 ICE on noreturn function at -Os and above)
2013-04-03 Richard Biener <rguenther@suse.de> PR tree-optimization/56501 * tree-switch-conversion.c (check_process_case): Properly handle !single_succ_p case. * gcc.dg/torture/pr56501.c: New testcase. From-SVN: r197405
This commit is contained in:
parent
71855a6aea
commit
1661e2108b
|
@ -1,3 +1,9 @@
|
|||
2013-04-03 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/56501
|
||||
* tree-switch-conversion.c (check_process_case): Properly
|
||||
handle !single_succ_p case.
|
||||
|
||||
2013-04-03 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
Backported from mainline
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2013-04-03 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/56501
|
||||
* gcc.dg/torture/pr56501.c: New testcase.
|
||||
|
||||
2013-04-03 Tobias Burnus <burnus@net-b.de>
|
||||
|
||||
Backport from mainline:
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-options "-w" } */
|
||||
|
||||
int a;
|
||||
void try_help () __attribute__ ((__noreturn__));
|
||||
void try_help ()
|
||||
{
|
||||
}
|
||||
|
||||
int main ()
|
||||
{
|
||||
switch (a)
|
||||
{
|
||||
case '1':
|
||||
case '2':
|
||||
case '3':
|
||||
case '4':
|
||||
case '5':
|
||||
case '6':
|
||||
case '7':
|
||||
case '8':
|
||||
case '9':
|
||||
break;
|
||||
default:
|
||||
try_help ();
|
||||
}
|
||||
}
|
|
@ -283,7 +283,12 @@ check_process_case (tree cs)
|
|||
return false;
|
||||
}
|
||||
|
||||
e = single_succ_edge (label_bb);
|
||||
if (!single_succ_p (label_bb))
|
||||
{
|
||||
info.reason
|
||||
= " Bad case - a non-final BB without a single successor\n";
|
||||
return false;
|
||||
}
|
||||
following_bb = single_succ (label_bb);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue