------- Comment #4 from vda dot linux at googlemail dot com 2007-07-21 23:41 ------- Tested gcc 4.2.1, generates identical code:
000000aa T find_pair 000000aa T find_pairB 000000aa T find_pairC 000000aa T find_pair 000000aa T find_pairB 000000aa T find_pairC Also did a diff of .s files: # diff -u vi_small.s vi_big.s --- vi_small.s Sun Jul 22 00:38:33 2007 +++ vi_big.s Sun Jul 22 00:38:33 2007 @@ -1,4 +1,4 @@ - .file "vi_small.c" + .file "vi_big.c" .text .type begin_line, @function begin_line: @@ -505,11 +505,11 @@ movl dot, %esi movl %esi, %eax call begin_line - cmpl cur_line.7876, %eax + cmpl cur_line.7880, %eax je .L108 movl %esi, %eax call begin_line - movl %eax, cur_line.7876 + movl %eax, cur_line.7880 movl Ureg, %eax movl %eax, -16(%ebp) movl end, %eax @@ -694,8 +694,8 @@ .size last_file_modified, 4 last_file_modified: .long -1 - .local cur_line.7876 - .comm cur_line.7876,4,4 + .local cur_line.7880 + .comm cur_line.7880,4,4 .local vi_setops .comm vi_setops,4,4 .local editing At least this testcase passes now. Maybe this is fixed in 4.2 indeed. Thanks! -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29950