Commit Graph

42597 Commits

Author SHA1 Message Date
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
Jonas Maebe
7d8e9cf0f6 * moved tprocdef.isempty to a new set called implprocoptions that
contains flags related to the procdef's implementation (and that
    don't influence the interface crc)

git-svn-id: trunk@27189 -
2014-03-19 21:52:59 +00:00
florian
b2b26f84cf * partially merged the mips-embedded branch of Michael Ring:
- startup code/controller units are not merged yet
  - assembler call does not pass the needed CPU type yet

git-svn-id: trunk@27188 -
2014-03-19 21:25:38 +00:00
marco
31a3e98a91 * fix for #25753
git-svn-id: trunk@27187 -
2014-03-19 19:43:56 +00:00
nickysn
8ff628afe1 + added i_msdos.pas and t_msdos.pas to ppc8086.lpi
git-svn-id: trunk@27186 -
2014-03-19 16:20:25 +00:00
nickysn
4c8e947f0c * changed the shortstring index variables that were previously longint and were later changed to sizeint (in r26917) to ObjpasInt after r27142
git-svn-id: trunk@27185 -
2014-03-19 15:35:21 +00:00
sergei
fcfed19c84 * Fixed one of the C porting bugs (wonder how many are still left...)
git-svn-id: trunk@27184 -
2014-03-19 15:32:29 +00:00
sergei
ab3ae9cf40 * Fixed comment.
git-svn-id: trunk@27183 -
2014-03-19 12:57:26 +00:00
sergei
4952754184 - i386 and x86_64 no longer use any softfloat stuff.
git-svn-id: trunk@27182 -
2014-03-19 12:14:44 +00:00
florian
0e5cf6529e + peephole optimizations AndMovzToAnd, MovMov2Mov1 and MovMov2MovMov1 for x86-64
git-svn-id: trunk@27181 -
2014-03-18 21:54:42 +00:00
sergei
0255eb880e - Removed mathuh.inc files which are identical for all targets (except m68k, see below), their contents moved into math.pp.
+ m68k/mathu.inc: added stub implementations for missing functions.

git-svn-id: trunk@27180 -
2014-03-18 20:01:15 +00:00
sergei
13da05a778 * Factored direct access to softfloat_exception_flags into a helper procedure.
git-svn-id: trunk@27179 -
2014-03-18 16:36:47 +00:00
lacak
8aa280fd81 fcl-db: tests: add '23:59:59' to test time values
git-svn-id: trunk@27178 -
2014-03-18 08:20:50 +00:00
sergei
e79e038f9c + Win32/Win64 SEH: STATUS_FLOAT_MULTIPLE_(FAULTS|TRAPS) need additional handling. Makes floating-point exceptions consistent between x87 and SSE.
git-svn-id: trunk@27177 -
2014-03-17 22:49:29 +00:00
nickysn
b7d759344d * fixed do_filepos and do_seekend not returning the high 16 bits of the file
offset correctly

git-svn-id: trunk@27176 -
2014-03-17 22:01:09 +00:00
nickysn
d989a42111 * several local variables changed from longint to integer
git-svn-id: trunk@27175 -
2014-03-17 21:58:53 +00:00
sergei
b32579278b * Forgot to increase size of array in r27146
git-svn-id: trunk@27174 -
2014-03-17 21:28:16 +00:00
nickysn
517f802ccc * revert to the initial implementation of GetCommandLine as the code generator
bug mentioned in the comment has been fixed

git-svn-id: trunk@27173 -
2014-03-17 20:33:32 +00:00
sergei
5f985602fb * Replaced fpc_ln_real with modern port from fdlibm/uclibc, it has even better accuracy than damath library.
git-svn-id: trunk@27172 -
2014-03-17 14:54:27 +00:00
sergei
9801288cdc * Removed SysInitFPU/SysResetFPU from (remaining) system units initialization code. It is redundant there because it is called from fpc_cpuinit, or, in case of i386, from fpc_cpucodeinit.
* It fixes regression of tw16283b after r27169. 
* BeOS, Haiku: added fpc_cpucodeinit to compensate for removal of SysInitFPU, it also enables use of CPU features like SSE.

git-svn-id: trunk@27171 -
2014-03-17 10:53:52 +00:00
reiniero
420e0165a2 fcl-db: sqlconnection:
* actually follow default property for Property LogEvents..Default LogAllEvents in constructor
* addresses issue #25867

git-svn-id: trunk@27170 -
2014-03-17 08:01:36 +00:00
sergei
6baba5065c * i386: Perform all CPU-related initialization in fpc_cpucodeinit, instead of having it scattered between fpc_cpuinit,fpc_cpucodeinit and check_sse_support. Simplifies things quite a bit.
- check_sse_support and mmx_support are no longer needed, removed.

git-svn-id: trunk@27169 -
2014-03-16 22:20:39 +00:00
sergei
a9b0a92873 * cpuid_support: translated to ATT syntax and optimized a bit.
git-svn-id: trunk@27168 -
2014-03-16 22:05:04 +00:00
Jonas Maebe
4dfc731bdc + support for nested classes in the WPO devirtualisation and VMT
optimization infrastructure (mantis #25869)

git-svn-id: trunk@27167 -
2014-03-16 19:46:17 +00:00
Jonas Maebe
80863a8361 * fixed warning/compilation
git-svn-id: trunk@27166 -
2014-03-16 19:46:10 +00:00
Jonas Maebe
5dd4389f78 * made internalerror unique
git-svn-id: trunk@27165 -
2014-03-16 19:45:56 +00:00
sergei
17b5359db0 * Win32 SEH: handle 'Athlon prefetch bug' and SSE detection exceptions in __FPC_default_handler.
git-svn-id: trunk@27164 -
2014-03-16 17:53:29 +00:00
nickysn
a176c2d4f5 + add overloaded versions of HexStr(pointer) for i8086 near and far pointers
- rm ifdefs for i8086 far code memory model when doing stack traces. The
  compiler will now choose the correct overload of HexStr according to the
  CodePointer type.

git-svn-id: trunk@27163 -
2014-03-16 17:40:31 +00:00
sergei
3fb304cbe2 - Removed Win64 SEH code specific to results of managed types returned in registers. Since r26228 managed types are always returned in parameters.
git-svn-id: trunk@27162 -
2014-03-16 15:48:49 +00:00
sergei
1d5dc8c3bd * More comments can never harm.
git-svn-id: trunk@27161 -
2014-03-16 15:37:40 +00:00
nickysn
1ef9a0509b - rm packset 1, because that's already the default in delphi mode
git-svn-id: trunk@27160 -
2014-03-16 15:32:35 +00:00
nickysn
238c4f91d8 * fixed dos.getftime returning a wrong value for 'time' on i8086-msdos
git-svn-id: trunk@27159 -
2014-03-16 15:22:49 +00:00
nickysn
ee34761646 * changed some longint vars to integer and cleaned up some unused vars from the
msdos dos unit.

git-svn-id: trunk@27158 -
2014-03-16 13:55:00 +00:00
nickysn
ac6611ceb9 - rm unused variable from LFNFindFirst
git-svn-id: trunk@27157 -
2014-03-16 12:46:04 +00:00
nickysn
044a744ba8 + implemented dos.SwapVectors for i8086-msdos
git-svn-id: trunk@27156 -
2014-03-16 12:37:52 +00:00
nickysn
07c3762164 + ported the go32v2 CD-ROM support code for dos.disksize and dos.diskfree to
i8086-msdos

git-svn-id: trunk@27155 -
2014-03-16 12:23:22 +00:00
Jonas Maebe
8d4c372d50 * removed ifdef jvm from ncgvmt
git-svn-id: trunk@27154 -
2014-03-16 11:24:44 +00:00