On Tue, 2014-08-19 at 13:57 -0700, Richard Henderson wrote: > On 08/06/2014 10:23 AM, David Malcolm wrote: > > diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c > > index 59d633d..5e42a97 100644 > > --- a/gcc/cfgrtl.c > > +++ b/gcc/cfgrtl.c > > @@ -1604,6 +1604,7 @@ force_nonfallthru_and_redirect (edge e, basic_block > > target, rtx jump_label) > > > > if (EDGE_COUNT (e->src->succs) >= 2 || abnormal_edge_flags || > > asm_goto_edge) > > { > > + rtx_insn *note; > > gcov_type count = e->count; > > int probability = e->probability; > > /* Create the new structures. */ > > A new variable with no uses?
This one is quite ugly: the pre-existing code has two locals named "note", both of type rtx, with one shadowing the other. This patch introduces a third, within the scope where the name "note" is used for insns. In the other scopes the two other "note" variables are used for find_reg_note. In each case, the name "note" is written to before use. So in my defense, the existing code already had shadowing of locals... but I guess that's not much of a defense, and it would be better to introduce a different name, and rename the uses in the appropriate scope. Thanks Dave