mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-18 16:49:20 +02:00
m68k: fixed parsing of absolute addresses in the assembler reader
git-svn-id: trunk@47418 -
This commit is contained in:
parent
fc78671215
commit
538b8e8e71
@ -1127,10 +1127,17 @@ const
|
|||||||
end;
|
end;
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
|
if actasmtoken in [AS_COMMA,AS_SEPARATOR] then
|
||||||
|
begin
|
||||||
|
{ no longer in an expression }
|
||||||
|
if not ErrorFlag then
|
||||||
|
BuildRefExpression := CalculateExpression(expr);
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
|
||||||
{ write error only once. }
|
{ write error only once. }
|
||||||
if not errorflag then
|
if not errorflag then
|
||||||
Message(asmr_e_invalid_constant_expression);
|
Message(asmr_e_invalid_constant_expression);
|
||||||
if actasmtoken in [AS_COMMA,AS_SEPARATOR] then exit;
|
|
||||||
{ consume tokens until we find COMMA or SEPARATOR }
|
{ consume tokens until we find COMMA or SEPARATOR }
|
||||||
errorflag := true;
|
errorflag := true;
|
||||||
end;
|
end;
|
||||||
@ -1411,12 +1418,12 @@ const
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
{ // Constant memory offset . // }
|
{ // Constant memory offset . // }
|
||||||
{ // This must absolutely be followed by ( // }
|
|
||||||
AS_HEXNUM,AS_INTNUM,
|
AS_HEXNUM,AS_INTNUM,
|
||||||
AS_BINNUM,AS_OCTALNUM,AS_PLUS:
|
AS_BINNUM,AS_OCTALNUM,AS_PLUS:
|
||||||
begin
|
begin
|
||||||
Oper.InitRef;
|
Oper.InitRef;
|
||||||
oper.opr.ref.offset:=BuildRefExpression;
|
oper.opr.ref.offset:=BuildRefExpression;
|
||||||
|
if actasmtoken = AS_LPAREN then
|
||||||
BuildReference(oper);
|
BuildReference(oper);
|
||||||
end;
|
end;
|
||||||
{ // A constant expression, or a Variable ref. // }
|
{ // A constant expression, or a Variable ref. // }
|
||||||
|
Loading…
Reference in New Issue
Block a user