aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKai Tietz <ktietz@redhat.com>2012-12-10 11:00:19 +0100
committerKai Tietz <ktietz@gcc.gnu.org>2012-12-10 11:00:19 +0100
commit0da911e95e175f18749186a6cb46c36027188822 (patch)
tree7546173bc75430dca4ec2646c9785a4e5906f36f /gcc
parent58ccdcc8c25b6d35e72777373690a39fd6f848e3 (diff)
downloadgcc-0da911e95e175f18749186a6cb46c36027188822.zip
gcc-0da911e95e175f18749186a6cb46c36027188822.tar.gz
gcc-0da911e95e175f18749186a6cb46c36027188822.tar.bz2
* stmt.c (expand_sjlj_dispatch_table): Fix off by one.
From-SVN: r194351
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);