diff --git a/compiler/raatt.pas b/compiler/raatt.pas index 734c7fe89d..22d98c9618 100644 --- a/compiler/raatt.pas +++ b/compiler/raatt.pas @@ -1282,10 +1282,16 @@ unit raatt; while (actasmtoken=AS_DOT) do begin Consume(AS_DOT); - if actasmtoken=AS_ID then - s:=s+'.'+actasmpattern; - if not Consume(AS_ID) then + + { a record field could have the same name as a register } + if actasmtoken in [AS_ID,AS_REGISTER] then + begin + s:=s+'.'+actasmpattern; + consume(actasmtoken) + end + else begin + Consume(AS_ID); RecoverConsume(true); break; end;