Commit Graph

5192 Commits

Author SHA1 Message Date
florian
6380df9b42 * correctly simplify tree transforms of (a+c1+c2) if a is a pointer, resolves #37671
git-svn-id: trunk@47437 -
2020-11-16 21:47:19 +00:00
florian
878f6d9ce4 * allow generic parameters as iterator variable in for in loops, resolves #38050
git-svn-id: trunk@47425 -
2020-11-15 19:10:34 +00:00
svenbarth
3d2ee097b5 * fix for Mantis #38083: ensure that the sp_generic_dummy flag is set correctly on the new procsym when replacing a dummy sym
+ added test

git-svn-id: trunk@47424 -
2020-11-15 16:27:26 +00:00
florian
089e13396a * ensure that changed compiler options do not cause values
ending up in registers which cannot be hold in registers

git-svn-id: trunk@47415 -
2020-11-14 18:40:58 +00:00
florian
bf7961a901 * fixes for nasm writer, resolves #38074
+ test

git-svn-id: trunk@47413 -
2020-11-13 21:39:16 +00:00
Károly Balogh
27125b760e qlunits: package skeleton to support the Sinclair QL
git-svn-id: trunk@47385 -
2020-11-11 00:00:39 +00:00
Jonas Maebe
091b0fde0c * fixed type of size parameter passed to fpc_getmem() when translating
new(pointer) (mantis #38054)

git-svn-id: trunk@47355 -
2020-11-08 22:42:38 +00:00
svenbarth
c496b609d1 * fix for Mantis #38051: make Chr() a real intrinsics so that it can be used in type declarations as well
+ added test

git-svn-id: trunk@47353 -
2020-11-08 22:23:02 +00:00
Károly Balogh
c8d18f5ac6 sinclairql: implemented some OS trap wrappers, to be used by the RTL
git-svn-id: trunk@47348 -
2020-11-08 20:43:01 +00:00
Jonas Maebe
49fbe53cf3 + test for mantis #36381 (seems already fixed)
git-svn-id: trunk@47337 -
2020-11-07 16:09:51 +00:00
ondrej
691fb2c9fe * add unix timezone test
git-svn-id: trunk@47322 -
2020-11-05 12:53:51 +00:00
Károly Balogh
18f364a497 + RTL skeleton for the Sinclair QL
git-svn-id: trunk@47310 -
2020-11-04 15:59:50 +00:00
Károly Balogh
519701960c m68k: initial commit to add the Sinclair QL as a compiler target
git-svn-id: trunk@47307 -
2020-11-04 14:20:28 +00:00
florian
0bf1af08c4 + test for #38022
git-svn-id: trunk@47304 -
2020-11-03 21:44:57 +00:00
Jonas Maebe
38a059f039 * give an error when trying to define a macro/compiler variable with
an empty name

git-svn-id: trunk@47300 -
2020-11-03 21:34:19 +00:00
ondrej
9b5d2322b6 Fix tepoch1 test
git-svn-id: trunk@47297 -
2020-11-03 20:15:04 +00:00
florian
1266afc0d0 * in equal_genfunc_paradefs take care of the fact that typesym might not be assigned for open array parameters, resolves #38012
git-svn-id: trunk@47253 -
2020-10-29 21:00:03 +00:00
florian
dfaee4f04b * patch by Jan Bruns to solve an issue with the new overloading selection code, resolves #37969
git-svn-id: trunk@47211 -
2020-10-26 20:58:24 +00:00
yury
438bba76b9 + Added a test for: When {$mode delphi} and {$modeswitch nestedprocvars} it is allowed to assign a nested routine which does not use parentfp to a regular procvar. And then call this procvar without any side effects.
git-svn-id: trunk@47209 -
2020-10-26 17:53:40 +00:00
florian
4afa4a73c6 + ISO mode: accept put/get without parameter, works on Input/Output respectively, resolves #37949
git-svn-id: trunk@47147 -
2020-10-20 21:03:51 +00:00
Jonas Maebe
099134b545 * fix try_make_mul32to64() if it's called with a constant node on the
left (mantis #37878)
   o can happen if use_generic_mul32to64 returns false

git-svn-id: trunk@47142 -
2020-10-19 19:10:16 +00:00
florian
a19ec44b97 * patch by Bart Broersma: avoid unsigned wrap around in TDeque.Erase, resolves #37482
git-svn-id: trunk@47122 -
2020-10-17 20:35:20 +00:00
Jonas Maebe
9376f5a43a * AArch64: added SIMD instructions (only plain ARMv8-A for now)
o added AArch64 regset parsing support in assembler reader, means that "{"
     no longer starts comments there (like in the ARM assembler reader)
   o added AArch64 indexed SIMD register support and removed old cg hacks
     that worked around its absence

git-svn-id: trunk@47116 -
2020-10-15 20:29:36 +00:00
florian
15695b317c * denormalized value floating point exception has to result in an rte 206, resolves part of #37926
git-svn-id: trunk@47114 -
2020-10-15 19:52:57 +00:00
svenbarth
eb7158d250 * ensure that internal method names (namely operator overloads and class con-/destructors) result in different mangled names from ordinary methods even if they should be converted to lowercase (which happens for section names)
+ added tests

git-svn-id: trunk@47110 -
2020-10-14 09:11:44 +00:00
svenbarth
e90cf131fe * fix for Mantis #37844: prefer to use the symtable determined in generate_specialization_phase1 for procdefs as that might a withsymtable that is needed to correctly load Self later on
+ added test

git-svn-id: trunk@47101 -
2020-10-12 16:55:14 +00:00
michael
be371d901c * test for new split option
git-svn-id: trunk@47069 -
2020-10-09 11:33:57 +00:00
florian
73c041a854 * patch by J. Gareth Moreton: propagate exit use in nested try...except statements,
resolves #35841

git-svn-id: trunk@47066 -
2020-10-08 20:38:19 +00:00
michael
29b6e4d6de * Start of write tests by Joe Care, case writing (bug id 0037834)
git-svn-id: trunk@47059 -
2020-10-06 21:08:09 +00:00
pierre
d72170f9a3 Fix compilation for watcom RTL
git-svn-id: trunk@47015 -
2020-09-30 12:20:26 +00:00
florian
e124b07e86 + evaluate typeinfo(<type1>)=/<>typeinfo(<type2>) at compile time, resolves #30260
git-svn-id: trunk@47008 -
2020-09-29 20:14:27 +00:00
svenbarth
a624348692 * when removing a method from the synchronization queue using TThread.RemoveQueuedEvent then both the Code and the Data need to match (Delphi does the same)
+ added test

git-svn-id: trunk@47007 -
2020-09-29 17:34:26 +00:00
florian
1a2b99bc09 * correctly reset fpu on x86_64-linux after a floating point exception, resolves second part of #37468
git-svn-id: trunk@46992 -
2020-09-28 20:50:25 +00:00
Jonas Maebe
f3e140fc50 * test for mantis #34543 (already fixed)
git-svn-id: trunk@46988 -
2020-09-28 14:01:55 +00:00
florian
e1536bdf26 * when implicit try...finallys are turned off, do not throw an error if a procedure
is left which would need but does not have an implicit try...finally block, resolves #37823

git-svn-id: trunk@46974 -
2020-09-27 16:53:59 +00:00
florian
a628c1c3dd * if an array constructor is passed to a formaldef parameter, it is passed as a set (if the conversion is possible), resolves #37796
git-svn-id: trunk@46973 -
2020-09-27 16:37:20 +00:00
svenbarth
cce2dad1bf * fix for Mantis #37806: allow undefineddefs for Include() and Exclude()
+ added tests

git-svn-id: trunk@46953 -
2020-09-25 14:13:53 +00:00
Károly Balogh
882ab946ed z80-zxspectrum: delete and remove the prt0.asm file. it's not used any more, as it doesn't contain the interrupt code required for stable operation of the target, and this removes sdasz80 dependency from the RTL build process, if another assembler is used by the compiler
git-svn-id: trunk@46950 -
2020-09-25 04:37:44 +00:00
Tomas Hajny
a71f87357d * simplified version of SeekEof for improved TP/BP/Delphi compatibility by Andrey 'Croco' Stolyarov as fix for #37716, plus a new test for testing the compatibility
git-svn-id: trunk@46946 -
2020-09-24 19:33:28 +00:00
svenbarth
e72f324f42 * according to ISO 10206 (Extended Pascal) 6.9.3.5 the "otherwise"-clause is supported for case-statements
+ added test

git-svn-id: trunk@46943 -
2020-09-24 11:41:43 +00:00
svenbarth
ff4e1345ff * fix for Mantis #37779: use init RTTI instead of full RTTI when copying an array
+ added test

git-svn-id: trunk@46915 -
2020-09-21 20:17:55 +00:00
Jonas Maebe
aa75d39ab5 * don't perform "(x=y) or (z=u)" -> "(x xor y) or (z xor u)" optimization
if z or u may raise exceptions (mantis #37780)

git-svn-id: trunk@46905 -
2020-09-20 12:43:45 +00:00
Jonas Maebe
9f42931eeb * don't print range check warnings when evaluating inlined explicit typecasts
git-svn-id: trunk@46904 -
2020-09-20 10:29:51 +00:00
svenbarth
2c372071fd * correctly handle static arrays with a lower index <> 0
+ added test

git-svn-id: trunk@46901 -
2020-09-19 21:20:07 +00:00
svenbarth
9d86fed95b * avoid range check error when using SwapEndian with 16-bit constants
+ added test

git-svn-id: trunk@46897 -
2020-09-19 17:04:17 +00:00
svenbarth
2ff18e48a0 * fix for Mantis #36909: apply patch by Ryan Joseph so that array constructors can be used for static arrays as well.
+ added test

git-svn-id: trunk@46891 -
2020-09-18 15:00:15 +00:00
svenbarth
d3e18ccb5e * fix for Mantis #37221: apply adjusted patch by Ondrej Pokorny to allow the use of Copy() on open array parameters (the result will be a dynamic array)
+ added test

git-svn-id: trunk@46890 -
2020-09-18 15:00:10 +00:00
florian
60bd9c5ba0 * write a proper error message if types are read/written which are not supported in iso mode, resolves #37763
git-svn-id: trunk@46885 -
2020-09-17 19:58:55 +00:00
florian
f8c1df0852 * ISO mode: handle typed files as text files regarding naming/program parameters, resolves #37415
git-svn-id: trunk@46865 -
2020-09-14 20:16:08 +00:00
florian
cdf1f710e5 + C objects for for xtensa-freertos with call0 abi, build with:
make create_c_objects TEST_CCOMPILER=xtensa-lx106-elf-gcc TEST_ABI=call0 TEST_FPC=fpc TEST_CPU_TARGET=xtensa TEST_OS_TARGET=freertos "TEST_CFLAGS=-O3 -mlongcalls"

    using xtensa-lx106-elf-gcc (crosstool-NG crosstool-ng-1.22.0-100-ge567ec7) 5.2.0

git-svn-id: trunk@46790 -
2020-09-06 20:23:25 +00:00