瀏覽代碼

* removed -Oodfa warnings

git-svn-id: trunk@29986 -
Jonas Maebe 10 年之前
父節點
當前提交
879afbb7be
共有 4 個文件被更改,包括 10 次插入1 次删除
  1. 2 0
      compiler/aarch64/agcpugas.pas
  2. 2 0
      compiler/aarch64/cgcpu.pas
  3. 4 1
      compiler/aarch64/ncpuadd.pas
  4. 2 0
      compiler/aarch64/racpugas.pas

+ 2 - 0
compiler/aarch64/agcpugas.pas

@@ -120,6 +120,8 @@ unit agcpugas;
                     { todo }
                     internalerror(2014121502);
                 end
+              else
+                internalerror(2015022301);
             end
           end
         else

+ 2 - 0
compiler/aarch64/cgcpu.pas

@@ -2136,6 +2136,8 @@ implementation
               number of registers }
             if loadop=A_LDP then
               regcount:=regcount and not(1);
+            { initialise for dfa }
+            regs[low(regs)]:=NR_NO;
             { max 4 loads/stores -> max 8 registers (in case of ldp/stdp) }
             for i:=1 to regcount do
               regs[i]:=getintregister(list,opsize);

+ 4 - 1
compiler/aarch64/ncpuadd.pas

@@ -278,7 +278,10 @@ interface
               op:=A_CMP
             else
               op:=A_CMN;
-          end;
+          end
+        else
+          { for DFA }
+          op:=A_NONE;
 
         case nodetype of
           equaln,

+ 2 - 0
compiler/aarch64/racpugas.pas

@@ -511,6 +511,8 @@ Unit racpugas;
               if (is_operand<>(actopcode=A_B)) and
                  (length(hs)>1) then
                 begin
+                  { workaround for DFA bug }
+                  result:=low(tasmcond);
                   for result:=low(tasmcond) to high(tasmcond) do
                     begin
                       if hs=uppercond2str[result] then