PR tree-optimization/56501
* tree-switch-conversion.c (check_process_case): Properly
handle !single_succ_p case.
* gcc.dg/torture/pr56501.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@197405
138bc75d-0d04-0410-961f-
82ee72b054a4
+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
+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:
--- /dev/null
+/* { 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 ();
+ }
+}
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);
}