소스 검색

* fix go32v2 assembler parsing failure introduced in rev 16104

git-svn-id: trunk@16132 -
pierre 15 년 전
부모
커밋
586dd1ee49
1개의 변경된 파일4개의 추가작업 그리고 6개의 파일을 삭제
  1. 4 6
      compiler/x86/rax86int.pas

+ 4 - 6
compiler/x86/rax86int.pas

@@ -384,12 +384,12 @@ Unit Rax86int;
                        c:=current_scanner.asmgetchar;
                      end;
                   end;
-                 if is_register(actasmpattern) then
-                  exit;
                  if is_asmdirective(actasmpattern) then
                   exit;
                  if is_asmoperator(actasmpattern) then
                   exit;
+                 if is_register(actasmpattern) then
+                  exit;
                  { allow spaces }
                  while (c in [' ',#9]) do
                    c:=current_scanner.asmgetchar;
@@ -1629,7 +1629,7 @@ Unit Rax86int;
                     if (actasmtoken=AS_OFFSET) and
                        (cs_create_pic in current_settings.moduleswitches) then
                       begin
-                        Consume(AS_OFFSET); 
+                        Consume(AS_OFFSET);
                         oper.opr.ref.refaddr:=addr_pic;
                         BuildOperand(oper,false);
                       end
@@ -1840,9 +1840,7 @@ Unit Rax86int;
                     BuildOperand(oper,true);
                     Consume(AS_RPAREN);
                     oper.setsize(l,true);
-                  end
-                else if (actasmtoken = AS_REGISTER) then
-                  Message(asmr_e_syn_operand);
+                  end;
               end;
 
             AS_SEPARATOR,