소스 검색

* fixed passing float constants as part of "array of const" parameter for ARM.

git-svn-id: trunk@5403 -
yury 19 년 전
부모
커밋
135c0ecfb7
1개의 변경된 파일9개의 추가작업 그리고 7개의 파일을 삭제
  1. 9 7
      compiler/arm/cgcpu.pas

+ 9 - 7
compiler/arm/cgcpu.pas

@@ -1488,16 +1488,18 @@ unit cgcpu;
                 ref.base:=tmpreg;
               end
             else
-              begin
-                ref.index:=tmpreg;
-                ref.shiftimm:=0;
-                ref.signindex:=1;
-                ref.shiftmode:=SM_None;
-              end;
+              if ref.base<>NR_PC then
+                begin
+                  ref.index:=tmpreg;
+                  ref.shiftimm:=0;
+                  ref.signindex:=1;
+                  ref.shiftmode:=SM_None;
+                end
+                else
+                  ref.base:=tmpreg;
           end
         else
           ref.base:=tmpreg;
-
         ref.offset:=0;
         ref.symbol:=nil;
       end;