------- Additional Comments From pinskia at gcc dot gnu dot org 2005-06-14 13:21 ------- Confirmed, I thought the gimplifier would have to change but it is not that. If we look at .eh (via -fdump-tree-all-lineno), we see that there is a goto with the lineno of 10: [t.c : 7] j = 0; [t.c : 7] goto <D1243>; <D1242>:; [t.c : 8] j.0 = j; [t.c : 8] D.1249 = (unsigned char) j; [t.c : 8] block[j.0] = D.1249; [t.c : 7] j = j + 1; <D1243>:; [t.c : 7] if ([t.c : 7] j <= 3) [t.c : 7] goto <D1242>; else [t.c : 7] goto <D1244>; <D1244>:; [t.c : 10] goto <D1246>; /// <--- here <D1245>:; [t.c : 11] j.1 = j; [t.c : 11] D.1251 = (unsigned char) j; [t.c : 11] block[j.1] = D.1251; [t.c : 10] j = j + 1; <D1246>:; [t.c : 10] if ([t.c : 10] j <= 5) [t.c : 10] goto <D1245>; else [t.c : 10] goto <D1247>; <D1247>:; [t.c : 12] return;
So it is just tree CFG cleanup which is causing this. -- What |Removed |Added ---------------------------------------------------------------------------- CC| |pinskia at gcc dot gnu dot | |org, hubicka at gcc dot gnu | |dot org Status|UNCONFIRMED |NEW Component|debug |middle-end Ever Confirmed| |1 GCC build triplet|i686-pc-linux-gnu | GCC host triplet|i686-pc-linux-gnu | GCC target triplet|i686-pc-linux-gnu | Last reconfirmed|0000-00-00 00:00:00 |2005-06-14 13:21:45 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22057