pierre
008c1436d8
Fix bug report 35937 by simple assembly code change and add test
...
git-svn-id: trunk@42603 -
2019-08-08 14:10:21 +00:00
Jonas Maebe
6b9f2114f1
* test from mantis #35897 , already fixed
...
git-svn-id: trunk@42575 -
2019-08-03 13:52:46 +00:00
svenbarth
6952ab5baf
* fix for Mantis #35918 : don't set the mangledname for the attribute's constructor function; let the compiler do its job instead
...
git-svn-id: trunk@42560 -
2019-08-02 14:07:17 +00:00
florian
bdd4b6691e
* fix test for arm
...
git-svn-id: trunk@42538 -
2019-07-30 21:04:30 +00:00
florian
9560d63e42
* test needs exception checking
...
git-svn-id: trunk@42537 -
2019-07-30 21:04:29 +00:00
florian
3ef319c0b0
* compilation of tests on 32 bit targets fixed, using while loops so keeping the type sizes
...
git-svn-id: trunk@42526 -
2019-07-28 21:06:37 +00:00
svenbarth
8fc5c9edb2
* fix compilation of tests on 32-bit systems (doesn't (shouldn't?) change their behavior)
...
git-svn-id: trunk@42520 -
2019-07-28 19:26:51 +00:00
florian
1a67ffdd22
* fix alignment of ParamList
...
* fix test for architectures using aligned rtti
git-svn-id: trunk@42516 -
2019-07-28 12:43:15 +00:00
Jonas Maebe
3fb7c19482
- removed tests as modern Delphi versions behave differently (mantis #35886 )
...
git-svn-id: trunk@42512 -
2019-07-28 12:03:40 +00:00
Jonas Maebe
789f288771
* fixed distribution of random(int64) based on patch by Pangea
...
(mantis #35878 )
git-svn-id: trunk@42508 -
2019-07-28 11:14:58 +00:00
Jonas Maebe
1da43f67d4
* (non-ancient) Delphi versions that accept explicit ordinal -> floating
...
point typecasts behave the same as FPC (convert the value) rather than
as Turbo Pascal (reinterpret the bit pattern) (mantis #35886 )
git-svn-id: trunk@42507 -
2019-07-28 11:14:54 +00:00
svenbarth
43b5dbf613
* fix for Mantis #23071 : also store local symtable in the PPU if the procdef is generic as we need it to resolve genericdefs to nested types
...
git-svn-id: trunk@42459 -
2019-07-19 15:55:28 +00:00
svenbarth
176a63b67b
* fix for Mantis #35862 : free the list of functions added with AddTerminateProc to avoid memory leaks
...
+ added test
git-svn-id: trunk@42457 -
2019-07-19 15:55:21 +00:00
Jonas Maebe
40082100e1
* fixed range test optimization for signed types and enabled it for them
...
git-svn-id: trunk@42332 -
2019-07-06 09:57:32 +00:00
svenbarth
433f07c407
* forgot to commit tests in r42329
...
git-svn-id: trunk@42330 -
2019-07-05 15:30:53 +00:00
svenbarth
d0eddbcbb9
* fix for Mantis #35735 : also handle "generic" keyword inside helper types
...
+ added test
git-svn-id: trunk@42328 -
2019-07-05 14:12:13 +00:00
Jonas Maebe
fb387da807
* use variables of correct size with movd (test checks whether movd only
...
reads 32 bit even when destination is xmm register) (mantis #35701 ,
as noted by J. Gareth Moreton)
git-svn-id: trunk@42268 -
2019-06-22 13:31:02 +00:00
Jonas Maebe
eab079c7bd
* fixed cbool "and" with full boolean evaluation, and cbool "xor"
...
(mantis #35272 )
git-svn-id: trunk@42167 -
2019-06-02 20:04:06 +00:00
Jonas Maebe
77658b925b
* disable regular array -> dynamic array type coversion support unless
...
{$modeswitch arraytodynarray} is active (mantis #35576 )
o changed compiler to compile without this modeswitch
o added the modeswitch to a test that depends on it
git-svn-id: trunk@42118 -
2019-05-25 12:31:32 +00:00
Jonas Maebe
eb0f02348d
* fixed loading parent frame pointer for nested procvars on targets that
...
that use explicit parentfp structs (fixes webtbs/tw17379 for llvm)
git-svn-id: trunk@42100 -
2019-05-19 19:20:29 +00:00
svenbarth
251c559662
* fix for Mantis #35533 : when searching for helpers on types that usually don't support a point operator, don't use automatic dereferentiation
...
+ added tests
git-svn-id: trunk@42036 -
2019-05-10 20:56:41 +00:00
pierre
8ff0aaa369
Avoid arithmetic overflow inside heaptrc unit on this test
...
git-svn-id: trunk@41883 -
2019-04-16 15:10:40 +00:00
Jonas Maebe
bde560dac2
* also accept {$elsif} after {$if(n)def} (mantis #34858 )
...
git-svn-id: trunk@41724 -
2019-03-17 15:20:22 +00:00
Jonas Maebe
d78dbd5d59
+ test from mantis #35224 (already works)
...
git-svn-id: trunk@41718 -
2019-03-16 20:01:57 +00:00
Jonas Maebe
fd42c3fb01
* only enable tw35187 for Windows and Linux, since it uses syscalls under unix
...
(which are not supported on all unix targets; feel free to re-enable for
specific unix targets if the test has been verified to compile there)
o also fixed placement of dotest directives: they have to come before any
part of the program code
git-svn-id: trunk@41717 -
2019-03-16 19:14:17 +00:00
Jonas Maebe
ed2ae508d0
* only add hidden parameters for objectdef methods after generating the vmt,
...
so that they take into account inherited calling conventions (mantis #35233 )
o don't needlessly calculate the paraloc info when generating a JVM mangled
name
git-svn-id: trunk@41716 -
2019-03-16 19:14:14 +00:00
florian
d657373933
* patch by J. Gareth Moreton which avoids that the optimizer causes reads of invalid memory, resolves #35187
...
git-svn-id: trunk@41667 -
2019-03-10 10:48:50 +00:00
Jonas Maebe
aba3f8f162
* fixed over-eager rejection of tobjecttype.fieldname expression after r40785
...
(mantis #35149 )
git-svn-id: trunk@41474 -
2019-02-25 21:17:24 +00:00
pierre
c1e93bd2c2
+ compiler/symdef.pas: Add missing call to tderef.reset methods in all tdef constructors.
...
+ compiler/sysmsym.pas: Do the same for for all tsym constructors.
+ compiler/symtype.pas: Generate internalerror in tcompilerppufile.putderef
if a deref field has index -1, as this means that buildderef was not called
while it should have been called.
+ compiler/symtable.pas: Fix bug report itself by adding an extra local variable
CHANGED to add extra cycles in tstoredsymtable.buildderef_referenced method.
New tests for this bug report: tests/webtbs/tw35139.pp and tests/webtbs/tw35139a.pp
git-svn-id: trunk@41425 -
2019-02-23 23:03:29 +00:00
svenbarth
7364cd59b5
* always enable threads on Unix-like targets
...
git-svn-id: trunk@41308 -
2019-02-11 20:33:29 +00:00
svenbarth
b810d8f32b
* fix for Mantis #35027 : ensure that the synchronize event entry is reset correctly in case of an exception
...
+ added test
git-svn-id: trunk@41281 -
2019-02-10 15:43:03 +00:00
svenbarth
1502a13e7c
* fix for Mantis #35028 : when the mainthread executes a queued ThreadMethod make sure that the queue entry is released even if an exception is raised
...
+ added test
git-svn-id: trunk@41280 -
2019-02-10 15:42:58 +00:00
svenbarth
b1ee29c836
* fix for Mantis #30205 : (adjusted) patch by Do-wan Kim to only use the default calling convention for exception handlers
...
+ added test
git-svn-id: trunk@41277 -
2019-02-10 11:26:46 +00:00
Jonas Maebe
0db9ff5c39
* fixed packed bitsize calculation for types with a negative lower bound and
...
and upper bound just below the next power of two (mantis #34971 )
git-svn-id: trunk@41161 -
2019-02-01 17:31:53 +00:00
florian
e24449bcfd
* if sub nodes of a commutative node contain conditionally executed nodes, these sub nodes might not be swapped
...
as this might result in some nodes not being executed, like temp. create nodes with init. code, see e.g. issue #34653 , resolves #34653
git-svn-id: trunk@40934 -
2019-01-20 12:55:20 +00:00
florian
925531b99c
* constrained generics are also compatible with formaldefs, resolves #34893
...
git-svn-id: trunk@40921 -
2019-01-19 21:23:36 +00:00
florian
644c47e121
* when deciding about the case code generation in case of size optimization, the number of labels is relevant, not the covered range, resolves #34818
...
git-svn-id: trunk@40851 -
2019-01-13 10:32:00 +00:00
florian
dd072ce76b
+ seek for typefiles in iso mode, resolves #34848
...
git-svn-id: trunk@40850 -
2019-01-12 23:29:20 +00:00
Jonas Maebe
7b313a2c15
* stop searching for methods to implement interfaces in parent classes after
...
encountering a method with the correct name that does not have the
"overload" directive (same logic as when looking for a call candidate,
to avoid errors when using a Pascal-level wrapper to call interface
methods, and Delphi-compatible since it always required "overload" for
overloaded methods)
o also catches calling convention mismatches like in webtbs/tw27349
git-svn-id: trunk@40683 -
2018-12-28 18:25:58 +00:00
svenbarth
0f83458513
* previous Invoke() related commit also correctly fixed Mantis #34509
...
git-svn-id: trunk@40670 -
2018-12-26 22:59:48 +00:00
svenbarth
93e0cd9e1a
* fix for Mantis #34496 : correctly align stack so that SSE operations work correctly
...
git-svn-id: trunk@40666 -
2018-12-26 22:59:36 +00:00
svenbarth
e28dff523a
* with the change regarding property access lists this test is no longer considered correct
...
git-svn-id: trunk@40658 -
2018-12-26 11:26:08 +00:00
Jonas Maebe
70cadc7694
* fixed string constant length when going from utf-8 to single-byte code page
...
(mantis #33666 , patch by engkin)
git-svn-id: trunk@40637 -
2018-12-24 22:21:40 +00:00
Jonas Maebe
52fec8a94a
* when optimising subsetreg moves for aarch64, take into account the fact
...
that the subsetreg itself can be 32 or 64 bit (mantis #33607 )
git-svn-id: trunk@40512 -
2018-12-09 14:46:52 +00:00
pierre
044fae62ea
Fix bug report 34605 and add corresponding test
...
git-svn-id: trunk@40377 -
2018-11-27 10:19:36 +00:00
Jonas Maebe
d1361ca6ed
* fixed adjustments of lower/upper bounds in range test optimization in case
...
of strictly smaller/greater comparisons (mantis #34385 )
git-svn-id: trunk@40344 -
2018-11-17 22:38:31 +00:00
svenbarth
251dfb6776
* don't allow constants of the record type that is currently being parsed; this would fail as soon as another field is added after the constant declaration
...
+ added tests
Note: unlike what bug report 27880 suggests Delphi also does *NOT* allow this (at least a current Delphi Tokyo) and fails with a "type is not completely defined" error, so this test belongs into the "failure" category
git-svn-id: trunk@40285 -
2018-11-11 22:08:29 +00:00
florian
c45806c84f
* made test more verbose
...
git-svn-id: trunk@40283 -
2018-11-11 17:32:21 +00:00
florian
95acf20544
* address output updated
...
git-svn-id: trunk@40273 -
2018-11-07 22:03:03 +00:00
florian
34d11046e0
* wrapcomplexinlinepara takes care of function results which need different temp. handling, resolves #34438
...
* tw34438 failed with -O3, fixes also dfa for inline functions returning results as "complex" parameter
git-svn-id: trunk@40202 -
2018-11-03 17:31:10 +00:00