Преглед на файлове

* Fixed float constants in softfloat mode when compiler was compiled in hardfloat mode on arm-linux host.

git-svn-id: trunk@7977 -
yury преди 18 години
родител
ревизия
b86574cf36
променени са 4 файла, в които са добавени 6 реда и са изтрити 6 реда
  1. 0 3
      compiler/aggas.pas
  2. 3 0
      compiler/arm/narmcon.pas
  3. 0 3
      compiler/i386/ag386nsm.pas
  4. 3 0
      compiler/ncgcon.pas

+ 0 - 3
compiler/aggas.pas

@@ -784,8 +784,6 @@ implementation
                  swap64bitarray(t64bitarray(d));
                AsmWrite(#9'.byte'#9);
 {$ifdef arm}
-{ on a real arm cpu, it's already hi/lo swapped }
-{$ifndef cpuarm}
                if tai_real_64bit(hp).formatoptions=fo_hiloswapped then
                  begin
                    for i:=4 to 7 do
@@ -801,7 +799,6 @@ implementation
                      end;
                  end
                else
-{$endif cpuarm}
 {$endif arm}
                  begin
                    for i:=0 to 7 do

+ 3 - 0
compiler/arm/narmcon.pas

@@ -68,6 +68,9 @@ interface
         realait:=floattype2ait[tfloatdef(resultdef).floattype];
         hiloswapped:=(current_settings.fputype in [fpu_fpa,fpu_fpa10,fpu_fpa11]) and
           not(cs_fp_emulation in current_settings.moduleswitches);
+{$ifdef FPC_DOUBLE_HILO_SWAPPED}
+        hiloswapped:=not hiloswapped;
+{$endif FPC_DOUBLE_HILO_SWAPPED}
         { const already used ? }
         if not assigned(lab_real) then
           begin

+ 0 - 3
compiler/i386/ag386nsm.pas

@@ -725,8 +725,6 @@ interface
                  swap64bitarray(t64bitarray(d));
                AsmWrite(#9#9'DB'#9);
 {$ifdef arm}
-{ on a real arm cpu, it's already hi/lo swapped }
-{$ifndef cpuarm}
                if tai_real_64bit(hp).formatoptions=fo_hiloswapped then
                  begin
                    for i:=4 to 7 do
@@ -742,7 +740,6 @@ interface
                      end;
                  end
                else
-{$endif cpuarm}
 {$endif arm}
                  begin
                    for i:=0 to 7 do

+ 3 - 0
compiler/ncgcon.pas

@@ -124,6 +124,9 @@ implementation
 {$ifdef ARM}
         hiloswapped:=(current_settings.fputype in [fpu_fpa,fpu_fpa10,fpu_fpa11]) and
           not(cs_fp_emulation in current_settings.moduleswitches);
+{$ifdef FPC_DOUBLE_HILO_SWAPPED}
+        hiloswapped:=not hiloswapped;
+{$endif FPC_DOUBLE_HILO_SWAPPED}
 {$endif ARM}
         { const already used ? }
         if not assigned(lab_real) then