Commit Graph

59680 Commits

Author SHA1 Message Date
michael
10c4e3f6fc * Fix writing array types
git-svn-id: trunk@46283 -
2020-08-06 07:26:47 +00:00
michael
be0adf199d * Escape keywords when writing
git-svn-id: trunk@46282 -
2020-08-06 07:21:22 +00:00
michael
a11a242c93 * Support writing sets
git-svn-id: trunk@46281 -
2020-08-06 06:55:06 +00:00
michael
492b1cf4ca * Support writing resource strings
git-svn-id: trunk@46280 -
2020-08-06 06:50:29 +00:00
svenbarth
e4ec420bf5 * reject the default Create array constructor if used on a variable instead of a type
+ added test

git-svn-id: trunk@46279 -
2020-08-05 21:35:01 +00:00
florian
315819692a - do not call firstpass in tinnode.pass_typecheck as it prevents further optimizations
git-svn-id: trunk@46277 -
2020-08-05 21:30:37 +00:00
florian
e14a3f17e6 * reverted r46220 as it is fixed now properly
git-svn-id: trunk@46276 -
2020-08-05 21:15:33 +00:00
florian
28f25b2df0 * reworked usage of tcgnotnode.handle_locjump
git-svn-id: trunk@46275 -
2020-08-05 21:15:32 +00:00
florian
2500f8432f * ti_const must be part of tempinfostoreflags as well
+ more detailed output in ttempcreatenode.printnodedata

git-svn-id: trunk@46274 -
2020-08-05 21:15:31 +00:00
Mattias Gaertner
93cca1ac91 pastojs: clean up
git-svn-id: trunk@46273 -
2020-08-05 19:54:42 +00:00
Mattias Gaertner
68a3e33cac pastojs: fixed arraySetLength shrink
git-svn-id: trunk@46272 -
2020-08-05 19:53:11 +00:00
yury
ec10ee8218 * Improved generic implementations of fpc_mul_dword, fpc_mul_word, fpc_mul_byte to use less iterations and registers.
git-svn-id: trunk@46269 -
2020-08-05 17:58:46 +00:00
marco
f1dbae577c * change mode fmappend to fmoutput in streamopen. Refer to comments in text.inc.
This makes append work in streamio.

git-svn-id: trunk@46268 -
2020-08-05 16:41:20 +00:00
yury
aa633544f1 * Added a simple implementation of random. It is TP/Delphi compatible. Enabled it for 8/16 bit CPUs by default.
git-svn-id: trunk@46266 -
2020-08-05 16:29:07 +00:00
michael
eb21b39012 * Fix extension to fit platform
git-svn-id: trunk@46248 -
2020-08-05 11:37:11 +00:00
pierre
6f27c2390e Disable compilation of most packages for msxdos and amstadcpc OS
git-svn-id: trunk@46247 -
2020-08-05 10:47:24 +00:00
pierre
6ce1b7d272 Disable native compilation of ihcutil for zxspectrum, msxdos and amstadcpc as it requires fcl-base package
git-svn-id: trunk@46246 -
2020-08-05 10:46:20 +00:00
pierre
754374d2ee Add amstradcpc to the list of unsupported OSes base utils
git-svn-id: trunk@46245 -
2020-08-05 09:31:30 +00:00
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