diff --git a/compiler/i386/ra386int.pas b/compiler/i386/ra386int.pas index ba415084fd..bd11aa5da4 100644 --- a/compiler/i386/ra386int.pas +++ b/compiler/i386/ra386int.pas @@ -710,16 +710,17 @@ Unit Ra386int; while (actasmtoken=AS_DOT) do begin Consume(AS_DOT); - if actasmtoken=AS_ID then - s:=s+'.'+actasmpattern; - if not Consume(AS_ID) then + if actasmtoken in [AS_BYTE,AS_ID,AS_WORD,AS_DWORD,AS_QWORD] then + s:=s+'.'+actasmpattern + else begin + Consume(AS_ID); RecoverConsume(true); break; end; end; if not GetRecordOffsetSize(s,offset,size) then - Message(asmr_e_building_record_offset); + Message(asmr_e_building_record_offset); end;