소스 검색

* AVR: tcgavr.normalize_ref must always load the reference into tmpreg

git-svn-id: trunk@43986 -
(cherry picked from commit f629fa1bb9760e2dc2b0ee9761b0c52bf76b4fa7)
florian 5 년 전
부모
커밋
4a73c31c82
1개의 변경된 파일3개의 추가작업 그리고 5개의 파일을 삭제
  1. 3 5
      compiler/avr/cgcpu.pas

+ 3 - 5
compiler/avr/cgcpu.pas

@@ -1087,7 +1087,6 @@ unit cgcpu;
 
 
     function tcgavr.normalize_ref(list:TAsmList;ref: treference;tmpreg : tregister) : treference;
-
       var
         tmpref : treference;
         l : tasmlabel;
@@ -1100,9 +1099,6 @@ unit cgcpu;
         { Be sure to have a base register }
         if (ref.base=NR_NO) then
           begin
-            { only symbol+offset? }
-            if ref.index=NR_NO then
-              exit;
             ref.base:=ref.index;
             ref.index:=NR_NO;
           end;
@@ -1190,7 +1186,9 @@ unit cgcpu;
             emit_mov(list,GetNextReg(tmpreg),GetNextReg(ref.index));
             ref.base:=tmpreg;
             ref.index:=NR_NO;
-          end;
+          end
+        else
+          Internalerror(2020011901);
         Result:=ref;
       end;