aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Tietz <ktietz@redhat.com>2012-12-10 10:00:19 +0000
committerKai Tietz <ktietz@redhat.com>2012-12-10 10:00:19 +0000
commit5959743183f6c462c5701c3a1964bd2903052ce0 (patch)
tree7546173bc75430dca4ec2646c9785a4e5906f36f
parent08f4ae50e58893e800e67304ff661e00713bb2d7 (diff)
* stmt.c (expand_sjlj_dispatch_table): Fix off by one.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@194351 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog2
-rw-r--r--gcc/stmt.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ee799892b31..b5c23a7fe5f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,7 @@
2012-12-10 Kai Tietz <ktietz@redhat.com>
+ * stmt.c (expand_sjlj_dispatch_table): Fix off by one.
+
PR target/53912
* stmt.c (compute_cases_per_edge): Cast from pointer via intptr_t.
(expand_case): Likewise.
diff --git a/gcc/stmt.c b/gcc/stmt.c
index 2227810f55b..eb7f9224060 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -2282,7 +2282,7 @@ expand_sjlj_dispatch_table (rtx dispatch_index,
tree range = maxval;
rtx default_label = gen_label_rtx ();
- for (int i = ncases - 1; i > 0; --i)
+ for (int i = ncases - 1; i >= 0; --i)
{
tree elt = dispatch_table[i];
tree low = CASE_LOW (elt);