瀏覽代碼

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

git-svn-id: trunk@29822 -

Jonas Maebe 10 年之前
父節點
當前提交
1dd5f579e6
共有 1 個文件被更改,包括 9 次插入3 次删除
  1. 9 3
      compiler/raatt.pas

+ 9 - 3
compiler/raatt.pas

@@ -1282,10 +1282,16 @@ unit raatt;
         while (actasmtoken=AS_DOT) do
         while (actasmtoken=AS_DOT) do
          begin
          begin
            Consume(AS_DOT);
            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
             begin
+              Consume(AS_ID);
               RecoverConsume(true);
               RecoverConsume(true);
               break;
               break;
             end;
             end;