Explorar o código

* support record fields with the same name as registers in subscripts in
the assembler reader

git-svn-id: trunk@29822 -

Jonas Maebe %!s(int64=10) %!d(string=hai) anos
pai
achega
1dd5f579e6
Modificáronse 1 ficheiros con 9 adicións e 3 borrados
  1. 9 3
      compiler/raatt.pas

+ 9 - 3
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;