florian
686a2d2f3f
+ Support omitting the frame pointer on arm even in procedures with incoming parameters
...
on the stack, this can be enabled by -OoFORCENOSTACKFRAME. This reduces the required
entry/exit code and makes an extra register available to the compiler. However, since this is
based on an estimation of the required stack size, it might have two drawbacks:
either the stack frame is estimated to big, the program requires a bigger stack than needed
or it is estimated too small, then the compiler throws an internalerror during compilation. These
issues can be overcome as soon as the compiler supports recompiling subroutines if needed.
git-svn-id: trunk@27239 -
2014-03-23 14:38:53 +00:00
nickysn
dfa1f3e0a3
* NativeInt and NativeUInt redefined as aliases to PtrInt/PtrUInt, so now they
...
become 32-bit in some i8086 memory models. Added comment explaining why they
were introduced (delphi compatibility) and why they shouldn't be used in the
FPC RTL.
git-svn-id: trunk@27238 -
2014-03-23 14:06:47 +00:00
nickysn
fb20791cbe
* replaced all the remaining uses of nativeint in the rtl with either sizeint
...
or objpasint
git-svn-id: trunk@27237 -
2014-03-23 13:38:16 +00:00
nickysn
e471a7dd2c
* use ObjpasInt, instead of nativeint in fpc_div_dword and fpc_mod_dword
...
git-svn-id: trunk@27236 -
2014-03-23 13:09:22 +00:00
nickysn
ec9a57f854
* local variables in fpc_AnsiStr_Concat_multi changed from nativeint to objpasint
...
git-svn-id: trunk@27235 -
2014-03-23 12:43:52 +00:00
nickysn
ff6b258379
* changed ExceptTryLevel from nativeint to objpasint
...
git-svn-id: trunk@27234 -
2014-03-23 12:42:57 +00:00
sergei
531c2d79e0
- RTL: removed 'unimplementedwidestring' procedure and use 'unimplementedunicodestring' instead. Reduces bloat. Furthermore, a separate message about missing widestring manager is misleading, because there is only one wide/unicodestring manager that can be set.
...
git-svn-id: trunk@27233 -
2014-03-23 02:16:03 +00:00
sergei
8ad5e6fb26
- RTL: cleaned out FPC_FREEMEM_X. We now have a dedicated compilerproc 'fpc_freemem' for this purpose.
...
git-svn-id: trunk@27232 -
2014-03-23 02:11:38 +00:00
marco
c376210946
* regenned makefiles which were regennerated with a 2.6.x fpcmake in the rtl-unicode transition
...
Mantis #25897
git-svn-id: trunk@27231 -
2014-03-22 20:11:13 +00:00
marco
0def931419
* Mantis #25889 Patch by Ocean:
...
Activex more consts, IOleInPlaceSiteEx and IOleInPlaceSiteWindowless
Description OLERENDER_* and XFORMCOORDS_* consts
IOleInPlaceSiteEx and IOleInPlaceSiteWindowless from OCIdl
git-svn-id: trunk@27230 -
2014-03-22 17:44:50 +00:00
marco
ac2d4389ac
* patch from Ocean, Mantis #0025890 shlobj classids constants and IShellIcon
...
git-svn-id: trunk@27229 -
2014-03-22 17:06:56 +00:00
florian
23ab30c1f8
- removes accidently commited comments for testing
...
git-svn-id: trunk@27228 -
2014-03-22 17:03:39 +00:00
florian
3b14b28161
+ support for FASM output, using it for testing does not work though, see readme.txt
...
git-svn-id: trunk@27227 -
2014-03-22 17:02:19 +00:00
marco
b3b9041f54
* fpmkunit no longer depends on strutils.
...
git-svn-id: trunk@27226 -
2014-03-22 13:36:27 +00:00
sergei
a882e89bc2
* x86_64: SetExceptionMask and SetRoundingMode must return the old value of mask/mode respectively, not the new one.
...
git-svn-id: trunk@27225 -
2014-03-21 18:08:11 +00:00
florian
04464b8622
* do not create an fpc_zeromem node if size=0
...
git-svn-id: trunk@27224 -
2014-03-21 16:34:35 +00:00
florian
6f14dbdebe
* avoid internal error if an empty record is assigned to a function result, resolves #25895
...
git-svn-id: trunk@27223 -
2014-03-21 16:31:57 +00:00
florian
303e8c609d
* internalerror unified
...
git-svn-id: trunk@27222 -
2014-03-21 16:31:17 +00:00
nickysn
47aed8b01f
* optimized the i8086 version of Get8087CW
...
git-svn-id: trunk@27221 -
2014-03-21 13:46:38 +00:00
reiniero
62f8792cb5
fcl-db: dbtestframework:
...
* Sybase: improve compatibility; instructions for test db required settings
git-svn-id: trunk@27220 -
2014-03-21 12:32:33 +00:00
sergei
bce33ee063
* software_rounding_mode -> softfloat_rounding_mode.
...
git-svn-id: trunk@27219 -
2014-03-21 07:45:13 +00:00
sergei
295e795a0a
* SPARC: SetExceptionMask and SetRoundingMode must return the old value of mask/mode respectively, not the new one.
...
git-svn-id: trunk@27218 -
2014-03-21 06:26:06 +00:00
sergei
67a8c315d8
* ARM: SetExceptionMask and SetRoundingMode must return the old value of mask/mode respectively, not the new one.
...
git-svn-id: trunk@27217 -
2014-03-21 06:03:00 +00:00
sergei
29bf988ca7
+ Implemented m68k-specific (actually, softfloat-specific) part of Math unit.
...
git-svn-id: trunk@27216 -
2014-03-21 05:24:09 +00:00
sergei
94a045aa3d
* Moved declarations of TFPURoundingMode,TFPUExceptionMask and TFPUPrecisionMode to System unit. Declarations in Math unit changed to aliases.
...
* Changed type of softfloat_exception_mask and softfloat_exception_flags to TFPUExceptionMask, softfloat_rounding_mode to TFPURoundingMode.
- Cleaned out numerous conversions happening when getting/setting exception mask and rounding mode.
git-svn-id: trunk@27215 -
2014-03-20 22:44:46 +00:00
florian
842e027a9f
+ prove of concept how FMA4 could be supported in inline assembler
...
git-svn-id: trunk@27214 -
2014-03-20 21:25:38 +00:00
Jonas Maebe
f936a48afa
* don't change the forward/interface definition of regular forward/interface
...
functions whose implementation is declared "external". This results in less
efficient code (all calls will go through a stub), but it prevents interface
crc changes (-> no recompilations in case of circular dependencies) and it
also keeps the interface stable (if the external implementation is changed
afterwards to another external routine or to a local implementation, the
mangled name of the routine does not change) (mantis #24121 )
git-svn-id: trunk@27213 -
2014-03-20 21:03:07 +00:00
marco
8b293f106b
* unicodeducet was still in makefile, fixed.
...
git-svn-id: trunk@27212 -
2014-03-20 20:33:31 +00:00
florian
1f6c43810d
* fix wrong suffix
...
git-svn-id: trunk@27211 -
2014-03-20 20:12:46 +00:00
florian
ff6afe27cd
* enabled fma instruction as the compiler knows them since r27209
...
git-svn-id: trunk@27210 -
2014-03-20 20:08:58 +00:00
florian
a79be2b05c
+ support for FMA instructions in inline assembler
...
+ extended avx test code with FMA
git-svn-id: trunk@27209 -
2014-03-20 20:06:56 +00:00
marco
f54d92326e
* remove leftover matrix unit dep
...
git-svn-id: trunk@27208 -
2014-03-20 18:40:44 +00:00
marco
a1351db576
* rtl-unicode package, containing unicodeducet, collation units and *bidi* units
...
git-svn-id: trunk@27207 -
2014-03-20 18:28:38 +00:00
marco
3e40a5c5f6
* removed obsolete rules from Solaris makefile
...
git-svn-id: trunk@27206 -
2014-03-20 18:18:42 +00:00
marco
08b26eeba6
* matrix+ucomplex line removal.
...
git-svn-id: trunk@27205 -
2014-03-20 18:10:46 +00:00
sergei
7b56c90d82
- MIPS,SPARC and ARM-wince: removed remaining references to softfloat stuff.
...
git-svn-id: trunk@27204 -
2014-03-20 17:46:01 +00:00
sergei
cfd2600b24
- Don't include softfpu code on SPARC, unless bootstrapping with 2.6.
...
- Atari is never compiled on SPARC or MIPS (and even it does one day, softfpu is not needed).
git-svn-id: trunk@27203 -
2014-03-20 17:20:58 +00:00
florian
5d57f38619
+ functions for FMA and AVX2 detection
...
git-svn-id: trunk@27202 -
2014-03-20 15:47:51 +00:00
florian
5f92e11d6c
* blocked already merged revisions
...
git-svn-id: trunk@27201 -
2014-03-20 12:25:51 +00:00
florian
aa107b914c
* merged avx2 branch, developed by Torsten Grundke
...
git-svn-id: trunk@27200 -
2014-03-20 12:03:52 +00:00
sergei
30c3842802
* MIPS: reworked FPU initialization to be consistent with other targets.
...
git-svn-id: trunk@27199 -
2014-03-20 11:30:24 +00:00
sergei
dcb46051c4
* Get rid of last softfloat dependencies in genmath.inc. Replaced remaining calls to float_raise with expressions which generate appropriate floating-point exceptions at runtime. This is probably somewhat slower on actual softfloat targets, but the change only affects exceptional control flow, so not a significant issue.
...
git-svn-id: trunk@27198 -
2014-03-20 11:04:00 +00:00
sergei
fffc317759
* Replaced fpc_round_real with new implementation, having the following important properties:
...
- it does not directly depend on softfloat stuff.
- it triggers 'inexact' condition in a way compatible to hardware instructions (second assertion in webtbs/tw3157.pp now works correctly).
git-svn-id: trunk@27197 -
2014-03-20 05:33:33 +00:00
sergei
825900671b
* Typo in r27184.
...
git-svn-id: trunk@27196 -
2014-03-20 04:27:51 +00:00
sergei
b89822d3e9
* i8086: added assembler implementation of fpc_round_real and removed remaining softfloat dependencies.
...
git-svn-id: trunk@27195 -
2014-03-20 02:28:47 +00:00
sergei
7ba4e67564
* Fixed Linux FPU exception mapping for x86_64 and MIPS, might be still incomplete, but at least operations yielding NaNs no longer produce EAccessViolation.
...
git-svn-id: trunk@27194 -
2014-03-20 01:59:06 +00:00
Jonas Maebe
47a7b117fd
* regenerated revision.inc and fpcmake.inc after r27188, which updated
...
fpcmake.ini (revision.inc was automatically updated by fpmake, but
fpcmake.inc wasn't -- the latter was regenerated via a
Makefile.fpc.fpcmake-regenerated makefile)
git-svn-id: trunk@27193 -
2014-03-19 22:45:53 +00:00
Jonas Maebe
1ac4021178
* moved po_has_inlininginfo from procoptions to procimploptions so that
...
the availability of the body of a function declared as "inline" no
longer changes the CRC and hence no longer triggers recompilations
(mantis #24121 )
git-svn-id: trunk@27192 -
2014-03-19 21:53:10 +00:00
Jonas Maebe
72c1e2a8ce
* write newline after synthetickind
...
git-svn-id: trunk@27191 -
2014-03-19 21:53:06 +00:00
Jonas Maebe
c47b4cbe86
* fixed spacing of "alias names"
...
git-svn-id: trunk@27190 -
2014-03-19 21:53:02 +00:00