Commit Graph

6809 Commits

Author SHA1 Message Date
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
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
0904ea0c3f * added missing "end." (fixup for r46904)
git-svn-id: trunk@46906 -
2020-09-20 12:43:49 +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
florian
e83d214e98 + allow in ISO mode that { ... } and (* ... *) comments are paired, resolves at least partly #37428
git-svn-id: trunk@46903 -
2020-09-20 08:47:00 +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
f8b17c410b + Xtensa: make use of ABS.S
+ extended test for abs(...) with single tests

git-svn-id: trunk@46852 -
2020-09-11 21:51:48 +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
florian
02df628399 * regenerated
git-svn-id: trunk@46789 -
2020-09-06 20:23:23 +00:00
florian
323b3b5d2b + create directory for C objects if needed
git-svn-id: trunk@46788 -
2020-09-06 20:23:22 +00:00
Jonas Maebe
97bf6d6677 * fix formatfloat for 0 in exponential format (based on patch by
Jamie Philbrook, mantis #37374)

git-svn-id: trunk@46778 -
2020-09-05 18:44:57 +00:00
Jonas Maebe
cc315e0ac7 * fix tw3930 after r37927
o "unique" class (and interface) type aliases should actually not exist at
     all except for overload resolution. All the rest (VMT, UUID, RTTI, ...)
     should be taken from the aliased class/interface
   o there is one Delphi-incompatibily left after this change, but it shouldn't
     matter: tw8180 does not compile if you change the declaration to
     "tcl=class(TInterfacedObject,XStr,iinterface)", while Kylix does compile
     that. It doesn't really matter though, because in Kylix this actually
     adds iinterface twice as implemented interface, so there is no point
     in accepting this.

git-svn-id: trunk@46773 -
2020-09-05 12:25:09 +00:00
svenbarth
b2177fb50e * fix for Mantis #37650: apply adjusted patch by Ryan Joseph do not range check the length of ShortStrings if their length parameter is based on a generic constant
+ added test

git-svn-id: trunk@46766 -
2020-09-04 15:44:23 +00:00
florian
9a7e977167 * replace tcaldefs.inc by cpudefs.inc
git-svn-id: trunk@46765 -
2020-09-04 15:37:01 +00:00
florian
28e2fae09d + forgotten file
git-svn-id: trunk@46764 -
2020-09-04 15:33:29 +00:00
florian
03778f9b7f * unified settings for CPU "size"
git-svn-id: trunk@46757 -
2020-09-03 21:02:27 +00:00
florian
55e6ffb428 + common include file for tcal*.pp tests to define cpusmall
git-svn-id: trunk@46730 -
2020-08-29 20:24:30 +00:00
florian
f4e27dcfb6 + created xtensa-freertos object files using gcc xtensa-esp32-elf-gcc (crosstool-NG esp-2019r2) 8.2.0 with:
make TEST_CCOMPILER=xtensa-esp32-elf-gcc create_c_objects TEST_FPC=fpc TEST_ABI=windowed TEST_OS_TARGET=freertos TEST_CPU_TARGET=xtensa TEST_SUBARCH=lx6 TEST_CFLAGS=-mlongcalls

git-svn-id: trunk@46725 -
2020-08-28 20:18:34 +00:00
florian
1041bc5a17 * made test more verbose
git-svn-id: trunk@46707 -
2020-08-26 21:01:38 +00:00
florian
5aa3da26f5 * fix test for targets with little memory
git-svn-id: trunk@46693 -
2020-08-25 21:39:38 +00:00
Jonas Maebe
ac18c0090a * non-zero exit code on failure
git-svn-id: trunk@46661 -
2020-08-23 11:31:16 +00:00
Jonas Maebe
d1d3d7cd08 * never create a regular temp for inline parameters that can be modified by
the caller (mantis #37465)a
   o in theory, the regular checks for doing so should never trigger, but due
     to compiler-generated nodes (such as calls to fpc_ansistr_unique), they
     could. Internal address nodes can deal with taking the address of the
     function result in this case.

git-svn-id: trunk@46660 -
2020-08-23 11:27:59 +00:00
florian
e81920af7b * made test more usefull
git-svn-id: trunk@46546 -
2020-08-22 19:38:07 +00:00
florian
120825d1d6 * do not throw an internal error on illegal assembler expressions, resolves #37439
git-svn-id: trunk@46499 -
2020-08-19 21:09:44 +00:00
yury
e200fde888 * Fixed tests for 16-bit CPUs.
git-svn-id: trunk@46494 -
2020-08-19 11:02:29 +00:00
yury
6878ffbf04 * In the TP mode for 16-bit CPUs uint8+uint8 is extended to sint16+sint16. This is TP compatible.
git-svn-id: trunk@46468 -
2020-08-17 09:25:45 +00:00
yury
2ab7cceeaa * Added the $F+ switch (forced far calls) for some TP mode tests.
git-svn-id: trunk@46456 -
2020-08-16 10:48:10 +00:00
florian
18b8b9c566 * do not apply range test optimization if the variable is a string being compared against a char constants, resolves #37476
git-svn-id: trunk@46453 -
2020-08-15 18:29:26 +00:00
florian
1ba8255af0 * do not try to unroll a loop if previously an error was thrown, resolves #37475
git-svn-id: trunk@46435 -
2020-08-14 18:10:56 +00:00
svenbarth
fbb8e161fa + add test for already fixed Mantis #37286
git-svn-id: trunk@46408 -
2020-08-13 05:42:32 +00:00
florian
43d66a4ac8 * it's usefull to enable the test for all platforms
git-svn-id: trunk@46406 -
2020-08-12 21:15:35 +00:00
florian
cdd80c131d + forgotten test
git-svn-id: trunk@46405 -
2020-08-12 21:13:58 +00:00
florian
6dac888ae5 * 0 is a valid label in iso mode, resolves #37428
git-svn-id: trunk@46362 -
2020-08-11 12:05:13 +00:00
Jonas Maebe
b3adeaaea9 * added test for bug that's already fixed (mantis #37423)
git-svn-id: trunk@46334 -
2020-08-08 17:45:41 +00:00
florian
d7ba09f543 * insert type casts when creating new unaryminus nodes during simplification, resolves #37508
git-svn-id: trunk@46309 -
2020-08-07 21:43:00 +00:00
florian
af1e6fde5c * setelementn cannot be the root node of a cse domain, resolves #37477
git-svn-id: trunk@46299 -
2020-08-06 20:49:07 +00:00