Commit Graph

59662 Commits

Author SHA1 Message Date
pierre
644678daaa Add zxspectrum, msxdos and amstradcpc list of unsupported OSes for most utils packages
git-svn-id: trunk@46244 -
2020-08-05 09:30:16 +00:00
pierre
42866bbde5 Change list of supported OSes
git-svn-id: trunk@46243 -
2020-08-05 09:28:54 +00:00
pierre
dcdb57027a Update after commit #46241
git-svn-id: trunk@46242 -
2020-08-05 09:20:06 +00:00
pierre
738c11199b Add amstradcpc OS support for fpcmake and fpmkunit
git-svn-id: trunk@46241 -
2020-08-05 09:05:14 +00:00
pierre
299799c33c Add name of package for which dependency is checked to get a more useful error message
git-svn-id: trunk@46240 -
2020-08-05 08:40:32 +00:00
Jonas Maebe
b5b1dc6dea * fixed ppc64 triple architecture names
git-svn-id: trunk@46239 -
2020-08-05 07:27:08 +00:00
Jonas Maebe
86d55055df * made internalerror unique
git-svn-id: trunk@46236 -
2020-08-04 21:12:06 +00:00
Jonas Maebe
69129f38e2 * aarch64: correct paraloc^.def for LOC_REFERENCE parameters
o fixes LLVM parameter information for such parameters (e.g. tw36934)

git-svn-id: trunk@46235 -
2020-08-04 21:07:06 +00:00
florian
1d3ed354de * patch by J. Gareth Moreton: unifies internalerrors, resolves #37471
git-svn-id: trunk@46234 -
2020-08-04 20:51:52 +00:00
yury
719220e8a4 * For 8/16 bit CPUs and TP mode, disable expansion to a larger integer type for subtract operations on unsigned integers. This is TP7 compatible.
git-svn-id: trunk@46233 -
2020-08-04 20:45:29 +00:00
michael
ec3eef03f1 * Set path to local version of fcl-passrc, not installed version
git-svn-id: trunk@46232 -
2020-08-04 15:50:45 +00:00
michael
2faa9e06a1 * Additional options for latest pas2js version features
git-svn-id: trunk@46230 -
2020-08-04 13:56:43 +00:00
michael
869ae0904c * Lowercase unit name (bug ID 37481)
git-svn-id: trunk@46228 -
2020-08-04 13:42:39 +00:00
pierre
ca40956a3a Regenerated all Makefile's
git-svn-id: trunk@46224 -
2020-08-04 10:19:49 +00:00
pierre
a2806954ed Update after commit #46222
git-svn-id: trunk@46223 -
2020-08-04 10:10:44 +00:00
pierre
a5997e266f Add powerpc specific call to gcc to get the correct libgcc directory for linux
git-svn-id: trunk@46222 -
2020-08-04 07:48:24 +00:00
pierre
fdb1cd38ab Disable limitation of handling of negative shift values, can be enalbed again by setting LIMIT_NEG_SHIFTVALUES macro
git-svn-id: trunk@46221 -
2020-08-04 07:45:03 +00:00
svenbarth
c17ad509e2 * fix for Mantis #36775: apply patch by J. Gareth Moreton
+ added tests

git-svn-id: trunk@46220 -
2020-08-03 21:53:29 +00:00
svenbarth
055cfc1771 * added test for Mantis #36014 which is already fixed (also in 3.2.0)
git-svn-id: trunk@46219 -
2020-08-03 21:53:24 +00:00
svenbarth
8770af84bd * fix for Mantis #37187: inside generics the constant code in pexpr does not handle all cases and thus current_procinfo needs to be checked as well
+ added test

git-svn-id: trunk@46218 -
2020-08-03 21:53:14 +00:00
Jonas Maebe
06a5ec5b5c * fixed peephole optimizer replace lea by add even if the flags were in use
(patch by J. Gareth Moreton)

git-svn-id: trunk@46213 -
2020-08-03 20:51:37 +00:00
Jonas Maebe
3047ce71bc * fixed LLVM register allocator after r46199
git-svn-id: trunk@46212 -
2020-08-03 20:36:02 +00:00
florian
87702d7cda * cosmetics
git-svn-id: trunk@46211 -
2020-08-03 19:58:47 +00:00
florian
7281ea7a2c * floating point division by zero should throw run time error 208, fixed
git-svn-id: trunk@46210 -
2020-08-03 19:42:16 +00:00
florian
b60ac4c2db * @PLT is needed for calls to link it properly with pic code
git-svn-id: trunk@46209 -
2020-08-03 19:42:14 +00:00
florian
4c2c540b29 * fixed resetting of state, broken in r45995
+ debugging output
  * check magic properly
  * cosmetics

git-svn-id: trunk@46208 -
2020-08-03 19:42:13 +00:00
florian
893225770c * updated tfpstate
git-svn-id: trunk@46207 -
2020-08-03 19:42:13 +00:00
yury
0000682043 * i8086: When a ref points to the 32-bit data, preload the ref base to a temp register to reduce spilling.
git-svn-id: trunk@46204 -
2020-08-03 18:52:17 +00:00
yury
ddea929923 * For 8 and 16 bit CPUs preload the ref base and index to a separate temp register in the generic implementation of a_load64_reg_ref() and a_load64_ref_reg().
This reduces spilling and produces a better code.

git-svn-id: trunk@46203 -
2020-08-03 18:45:38 +00:00
yury
e70c898503 * Removed the i8086 specific hack. Since r46199 the register allocator is able to handle the problem code.
git-svn-id: trunk@46200 -
2020-08-03 16:51:20 +00:00
yury
ff820247c3 * Early during register allocation, spill registers which interfere with all usable real registers.
It is pointless to keep them for further processing. Also it may
  cause endless spilling.
  This can happen when compiling for very constrained CPUs such as
  i8086 where indexed memory access instructions allow only
  few registers as arguments and additionally the calling convention
  provides no general purpose volatile registers.

git-svn-id: trunk@46199 -
2020-08-03 16:46:25 +00:00
yury
601e05f17f * Count only usable real registers.
git-svn-id: trunk@46197 -
2020-08-03 16:24:14 +00:00
yury
0daba07246 * Enhanced the debug output of spilling statistics. Now it includes efficiency of the spilling which is based on
weight and usage count of registers. Range 0-100%. Such statistics are very handy when you modify the register allocator.
  

git-svn-id: trunk@46196 -
2020-08-03 16:18:32 +00:00
florian
eac6675cba * reset exception flags, resolves #37468 on x86_64
git-svn-id: trunk@45995 -
2020-08-02 21:23:29 +00:00
pierre
0863291e07 Add process_shared field to haiku OS pthread_mutexattr_t type
git-svn-id: trunk@45993 -
2020-08-02 15:46:06 +00:00
svenbarth
a8ea8eb5d5 * fix for Mantis #37447: add support for HttpUpdateServiceConfiguration which needs to be loaded dynamically, because it's only available in newer versions of Windows 10
git-svn-id: trunk@45992 -
2020-08-02 15:18:36 +00:00
svenbarth
e5308038a9 * fix for Mantis #37448: apply changes by Taufik Rahmad Hidayanto to fix the lengths of various response elements
git-svn-id: trunk@45991 -
2020-08-02 15:18:32 +00:00
Jonas Maebe
346adf7f55 * replace explicit (sometimes incomplete) tests with calls to doshortbooleval()
* the c-style boolean evaluation of "and" is independent of short-circuit evaluation
    (you always have to consider the complete values in case the first one is <> 0)

git-svn-id: trunk@45990 -
2020-08-02 14:39:50 +00:00
Jonas Maebe
198efe2075 * fpmkunit: only start the worker threads once they are fully initialised
git-svn-id: trunk@45989 -
2020-08-02 14:39:47 +00:00
svenbarth
848ec1d219 * allow overloads with same result type for external Java classes due to Java supporting covariant return types for interfaces
git-svn-id: trunk@45988 -
2020-08-02 12:28:46 +00:00
yury
4964f5cf76 * Count the number of interferences with real registers.
* Do not coalesce registers 'u' and 'v' if 'u' is the last usable real register available for imaginary register 'n' which also interferences with 'v'.
    This prevents endless spilling in some cases for constrained CPUs such as AVR. Resolves issue #37421.
    Also this reduces the number of spilled registers in some cases and even eliminates spilling completely for some simple routines for i386 and AVR.
* Added a debug output of the number of spilled registers for each routine. This allows to easily compare results after changes in spilling algorithms.

git-svn-id: trunk@45987 -
2020-08-02 11:50:43 +00:00
svenbarth
ef099b2075 * import library function with a name that does not conflict with the functions exported in the interface
git-svn-id: trunk@45986 -
2020-08-02 10:25:02 +00:00
svenbarth
08949c86bf + readd Randomize with parameter
git-svn-id: trunk@45985 -
2020-08-02 10:24:57 +00:00
florian
f542ee7b92 * do not throw an internal error if an errorneous type is passed to str, resolves #37462
git-svn-id: trunk@45983 -
2020-08-01 21:11:35 +00:00
pierre
208e7fb337 Add -marm option to gcc call fot arm target to be sure that aarch64 version of gcc complains to stderr if it does not support 32-bit
git-svn-id: trunk@45982 -
2020-08-01 20:42:22 +00:00
svenbarth
107a2e4e85 - remove local Random() implementations that weren't exported anyway (LongInt <> Integer inside the System unit)
git-svn-id: trunk@45981 -
2020-08-01 17:26:39 +00:00
svenbarth
48cc5250f9 * fpc_geteipasebx and fpc_geteipasecx are used as procedures, not functions, so declare them as such
git-svn-id: trunk@45980 -
2020-08-01 17:26:34 +00:00
svenbarth
04cbf32b1b * rename local import of fpc_geteipasebx
git-svn-id: trunk@45979 -
2020-08-01 17:26:29 +00:00
michael
4df02b0d6d * Remove SVN id marker
git-svn-id: trunk@45978 -
2020-08-01 16:02:42 +00:00
michael
0e35f2cd09 * Make sure tests run in pas2js. Reduce ifdefs
git-svn-id: trunk@45977 -
2020-08-01 08:49:34 +00:00