Fixes [bugs:#4066]:
Peephole 260.i changes all jump table entries to 2-byte sjmp instructions and uses index * 2 to find an entry.
Later, peephole 257.b changes some of them back to 3-byte ljmp instructions.
The entries then have different sizes, this can cause a jump to the wrong location.
This patch adds notInJumpTable() to peephole 257.b so it does not change instructions inside a jump table.
I tested the original failing testcase with the same random configuration, and it now passes.
Diff:
Related
Bugs:
#4066Updated:
bug-4066-v2.patchThe actual code change is unchanged. I only added a regression test
based on the original failing
gcc-torture-execute-20011109-1.ctestcase.Please use this version instead of the previous one!
Last edit: Li-Hsin Chien 3 days ago
ChangeLog:
Applied in [r16836]. Thanks!
Related
Commit: [r16836]