Browse Source

Thumb(2): fix compilation after FPU control word changes

Resolves #39966
Jonas Maebe 2 years ago
parent
commit
229d88c50f
2 changed files with 5 additions and 2 deletions
  1. 4 1
      rtl/arm/cpuh.inc
  2. 1 1
      rtl/arm/thumb2.inc

+ 4 - 1
rtl/arm/cpuh.inc

@@ -13,6 +13,9 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 
  **********************************************************************}
  **********************************************************************}
-
+{$if defined(CPUTHUMB) or defined(CPUTHUMB2)}
+  {$define FPC_SYSTEM_FPUCW_IMMUTABLE}
+{$else}
 type
 type
   TNativeFPUControlWord = dword;
   TNativeFPUControlWord = dword;
+{$endif}

+ 1 - 1
rtl/arm/thumb2.inc

@@ -62,7 +62,6 @@ begin
   { FPU precision 64 bit, rounding to nearest, affine infinity }
   { FPU precision 64 bit, rounding to nearest, affine infinity }
   _controlfp($000C0003, $030F031F);
   _controlfp($000C0003, $030F031F);
 end;
 end;
-{$endif wince}
 
 
 {$define FPC_SYSTEM_HAS_GETSETNATIVEFPUCONTROLWORD}
 {$define FPC_SYSTEM_HAS_GETSETNATIVEFPUCONTROLWORD}
 function GetNativeFPUControlWord: TNativeFPUControlWord;
 function GetNativeFPUControlWord: TNativeFPUControlWord;
@@ -74,6 +73,7 @@ procedure SetNativeFPUControlWord(const cw: TNativeFPUControlWord);
   begin
   begin
     _controlfp(cw,$ffffffff);
     _controlfp(cw,$ffffffff);
   end;
   end;
+{$endif wince}
 
 
 
 
 {****************************************************************************
 {****************************************************************************