mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-07 07:45:56 +02:00
* i386 version of fix from r21113
git-svn-id: trunk@21127 -
This commit is contained in:
parent
8a7123eed8
commit
dd03bc3e66
@ -637,13 +637,21 @@ begin
|
|||||||
because it can never be executed}
|
because it can never be executed}
|
||||||
if (taicpu(p).opcode = A_JMP) then
|
if (taicpu(p).opcode = A_JMP) then
|
||||||
begin
|
begin
|
||||||
while GetNextInstruction(p, hp1) and
|
hp2:=p;
|
||||||
|
while GetNextInstruction(hp2, hp1) and
|
||||||
(hp1.typ <> ait_label) do
|
(hp1.typ <> ait_label) do
|
||||||
if not(hp1.typ in ([ait_label,ait_align]+skipinstr)) then
|
if not(hp1.typ in ([ait_label,ait_align]+skipinstr)) then
|
||||||
|
begin
|
||||||
|
{ don't kill start/end of assembler block,
|
||||||
|
no-line-info-start/end etc }
|
||||||
|
if hp1.typ<>ait_marker then
|
||||||
begin
|
begin
|
||||||
asml.remove(hp1);
|
asml.remove(hp1);
|
||||||
hp1.free;
|
hp1.free;
|
||||||
end
|
end
|
||||||
|
else
|
||||||
|
hp2:=hp1;
|
||||||
|
end
|
||||||
else break;
|
else break;
|
||||||
end;
|
end;
|
||||||
{ remove jumps to a label coming right after them }
|
{ remove jumps to a label coming right after them }
|
||||||
|
Loading…
Reference in New Issue
Block a user