From: Kai Tietz Date: Mon, 10 Dec 2012 10:00:19 +0000 (+0100) Subject: * stmt.c (expand_sjlj_dispatch_table): Fix off by one. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0da911e95e175f18749186a6cb46c36027188822;p=gcc.git * stmt.c (expand_sjlj_dispatch_table): Fix off by one. From-SVN: r194351 --- 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 + * 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);