Jelajahi Sumber

* use softfloat on arm and m68k
* export GUID_NULL from types also on windows

git-svn-id: trunk@5231 -

florian 19 tahun lalu
induk
melakukan
46b6f00bc7
2 mengubah file dengan 30 tambahan dan 3 penghapusan
  1. 28 0
      rtl/linux/system.pp
  2. 2 3
      rtl/objpas/types.pp

+ 28 - 0
rtl/linux/system.pp

@@ -40,6 +40,13 @@ Unit System;
 function get_cmdline:Pchar;
 property cmdline:Pchar read get_cmdline;
 
+{$if defined(CPUARM) or defined(CPUM68K)}
+
+{$define fpc_softfpu_interface}
+{$i softfpu.pp}
+{$undef fpc_softfpu_interface}
+
+{$endif defined(CPUARM) or defined(CPUM68K)}
 
 {*****************************************************************************}
                                  implementation
@@ -54,6 +61,27 @@ property cmdline:Pchar read get_cmdline;
 
 const calculated_cmdline:Pchar=nil;
 
+{$if defined(CPUARM) or defined(CPUM68K)}
+
+{$define fpc_softfpu_implementation}
+{$i softfpu.pp}
+{$undef fpc_softfpu_implementation}
+
+{ we get these functions and types from the softfpu code }
+{$define FPC_SYSTEM_HAS_float64}
+{$define FPC_SYSTEM_HAS_float32}
+{$define FPC_SYSTEM_HAS_flag}
+{$define FPC_SYSTEM_HAS_extractFloat64Frac0}
+{$define FPC_SYSTEM_HAS_extractFloat64Frac1}
+{$define FPC_SYSTEM_HAS_extractFloat64Exp}
+{$define FPC_SYSTEM_HAS_extractFloat64Frac}
+{$define FPC_SYSTEM_HAS_extractFloat64Sign}
+{$define FPC_SYSTEM_HAS_ExtractFloat32Frac}
+{$define FPC_SYSTEM_HAS_extractFloat32Exp}
+{$define FPC_SYSTEM_HAS_extractFloat32Sign}
+
+{$endif defined(CPUARM) or defined(CPUM68K)}
+
 {$I system.inc}
 
 {*****************************************************************************

+ 2 - 3
rtl/objpas/types.pp

@@ -110,9 +110,10 @@ type
   POleStr = PWideChar;
   PPOleStr = ^POleStr;
 
-{$ifndef Windows}
 const
+  GUID_NULL: TGUID  = '{00000000-0000-0000-0000-000000000000}';
 
+{$ifndef Windows}
   STGTY_STORAGE   = 1;
   STGTY_STREAM    = 2;
   STGTY_LOCKBYTES = 3;
@@ -171,8 +172,6 @@ const
   STG_S_RETRYNOW              = $00030202;
   STG_S_MONITORING            = $00030203;
 
-  GUID_NULL: TGUID  = '{00000000-0000-0000-0000-000000000000}';
-
 type
   PCLSID = PGUID;
   TCLSID = TGUID;