aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-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 ee79989..b5c23a7 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 2227810..eb7f922 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);