mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-01 13:30:47 +02:00
+ allow jumps to goto targets
This commit is contained in:
parent
5e9cf637d3
commit
b1cec6de2a
@ -239,6 +239,9 @@ interface
|
|||||||
is_set : boolean;
|
is_set : boolean;
|
||||||
is_public : boolean;
|
is_public : boolean;
|
||||||
defined_in_asmstatement : boolean;
|
defined_in_asmstatement : boolean;
|
||||||
|
{$ifdef wasm32}
|
||||||
|
is_pascal_goto_target: boolean;
|
||||||
|
{$endif wasm32}
|
||||||
constructor Createlocal(AList: TFPHashObjectList; nr: longint; ltyp: TAsmLabelType);
|
constructor Createlocal(AList: TFPHashObjectList; nr: longint; ltyp: TAsmLabelType);
|
||||||
constructor Createstatic(AList: TFPHashObjectList; nr: longint; ltyp: TAsmLabelType);
|
constructor Createstatic(AList: TFPHashObjectList; nr: longint; ltyp: TAsmLabelType);
|
||||||
constructor Createglobal(AList: TFPHashObjectList; const modulename: TSymStr; nr: longint; ltyp: TAsmLabelType);
|
constructor Createglobal(AList: TFPHashObjectList; const modulename: TSymStr; nr: longint; ltyp: TAsmLabelType);
|
||||||
|
@ -147,6 +147,7 @@ implementation
|
|||||||
lbl: tai_label;
|
lbl: tai_label;
|
||||||
begin
|
begin
|
||||||
lbl:=tai_label.create(l);
|
lbl:=tai_label.create(l);
|
||||||
|
l.is_pascal_goto_target:=true;
|
||||||
lbl.is_pascal_goto_target:=true;
|
lbl.is_pascal_goto_target:=true;
|
||||||
list.concat(lbl);
|
list.concat(lbl);
|
||||||
end;
|
end;
|
||||||
|
@ -1925,6 +1925,8 @@ implementation
|
|||||||
list.concat(taicpu.op_sym(a_br,l))
|
list.concat(taicpu.op_sym(a_br,l))
|
||||||
else if l=current_procinfo.CurrExitLabel then
|
else if l=current_procinfo.CurrExitLabel then
|
||||||
list.concat(taicpu.op_sym(a_br,l))
|
list.concat(taicpu.op_sym(a_br,l))
|
||||||
|
else if l.is_pascal_goto_target then
|
||||||
|
list.concat(taicpu.op_sym(a_br,l))
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
{$ifndef EXTDEBUG}
|
{$ifndef EXTDEBUG}
|
||||||
|
Loading…
Reference in New Issue
Block a user