Browse Source

* fix for Mantis #36951: if the instruction only has one operand and it's a reference then don't internal error, but instead return OS_NO

git-svn-id: trunk@44998 -
svenbarth 5 years ago
parent
commit
03eb114e97
1 changed files with 2 additions and 0 deletions
  1. 2 0
      compiler/aarch64/racpu.pas

+ 2 - 0
compiler/aarch64/racpu.pas

@@ -67,6 +67,8 @@ unit racpu;
       begin
       begin
         if ops<1 then
         if ops<1 then
           internalerror(2014122001);
           internalerror(2014122001);
+        if (ops=1) and (operands[1].opr.typ=OPR_REFERENCE) then
+          exit(OS_NO);
         if operands[1].opr.typ<>OPR_REGISTER then
         if operands[1].opr.typ<>OPR_REGISTER then
           internalerror(2014122002);
           internalerror(2014122002);
         result:=reg_cgsize(operands[1].opr.reg);
         result:=reg_cgsize(operands[1].opr.reg);