Commit Graph

6757 Commits

Author SHA1 Message Date
svenbarth
1d4bbcef75 + add additional overloads for FindResource and FindResourceEx so that mixtures of AnsiString and MAKEINTRESOURCE types as well as names can be used
+ added test for ReadComponentRes (which called the wrong FindResource before)

git-svn-id: trunk@45479 -
2020-05-23 21:24:01 +00:00
florian
809fb83334 * adapt optimizer to handle push/pop for stack alignment
* adapt test

git-svn-id: trunk@45477 -
2020-05-23 17:50:14 +00:00
svenbarth
90c1bf2e12 * add tests\test\unit\types directory to list of tested directories
git-svn-id: trunk@45463 -
2020-05-22 12:45:20 +00:00
florian
51da470757 * constrained type parameters are not undefined defs, resolves #37107
git-svn-id: trunk@45457 -
2020-05-21 18:19:08 +00:00
Jonas Maebe
a88eee4080 * fixed unitdir directive for relative paths in case the current module's
path is not set, broken by r43312 (mantis #37095)

git-svn-id: trunk@45410 -
2020-05-17 21:27:00 +00:00
svenbarth
6b548b9016 * fix for Mantis #37042: apply patch and test (adjusted for Big Endian) by Bi0T1N to add support for TBitConverter
git-svn-id: trunk@45409 -
2020-05-17 20:59:57 +00:00
Jonas Maebe
6f165b6c01 * fixed tests
o fixed use of loop counter after end of loop
   o fixed reliance on old behaviour for int -> real typecasts

git-svn-id: trunk@45379 -
2020-05-16 13:31:28 +00:00
michael
f432bd9307 * Patch from Noel Duffy to add TrySTrToHost* functions
git-svn-id: trunk@45376 -
2020-05-16 13:11:28 +00:00
svenbarth
f0e8d5dfa6 * fix for Mantis #37043: apply patch by Bi0T1N (including test) to add additional overloads for IntToHex including a rerouting of the ordinal helpers' ToHexString to use these overloads
git-svn-id: trunk@45370 -
2020-05-15 15:14:19 +00:00
florian
7a60e044e3 * simplify constant expressions after re-ordering, resolves #37062
git-svn-id: trunk@45360 -
2020-05-13 20:26:04 +00:00
pierre
c77ef7d6dd Regenerate all Makefile's after change in utils/fpcm/fpcmake.ini to better support use of i386 compiler on x86_64 machines
git-svn-id: trunk@45356 -
2020-05-13 13:53:15 +00:00
michael
71e322d058 * Patch from Noel Duffy to improve IPV6 address parsing (bug ID tw37013)
git-svn-id: trunk@45350 -
2020-05-13 07:19:03 +00:00
florian
7a6bd84bc0 * cast only the longint
git-svn-id: trunk@45325 -
2020-05-10 12:52:17 +00:00
florian
b48c8d8596 * fixed test for 32 Bit targets
git-svn-id: trunk@45324 -
2020-05-10 09:04:13 +00:00
yury
a316229ef6 * Always use parentfp for forward-declared nested procedures.
git-svn-id: trunk@45320 -
2020-05-09 17:52:17 +00:00
nickysn
56b79257a1 * fixed fpmake invokation when building an i386-linux snapshot on a x86_64-linux host
git-svn-id: trunk@45298 -
2020-05-06 20:41:01 +00:00
yury
40504a6f9d * If a nested procedure does not access its parent's frame pointer, optimize it by removing the hidden $parentfp parameter.
* Improved the tisogoto1.pp test.

git-svn-id: trunk@45292 -
2020-05-06 14:43:49 +00:00
yury
c1d124d497 * x86: Fixed peephole optimization introduced in r44233. tb0219 and tb0548 tests have failed with -O2 since then.
* Added variants of the tb0219 and tb0548 tests with forced -O2.

git-svn-id: trunk@45291 -
2020-05-06 14:18:44 +00:00
svenbarth
3d2945726a * handle generic parameters in Ord()
+ added test

git-svn-id: trunk@45232 -
2020-05-03 15:08:31 +00:00
florian
b6097a0300 * correctly handle result type of string constant nodes for internally created
nodes

git-svn-id: trunk@45231 -
2020-05-03 12:41:17 +00:00
Jonas Maebe
722ad1ff7b * support floating point parameters split over multiple locations, including
integer registers, for homogeneous records/arrays on ppc64le (related to
    mantis #36934)

git-svn-id: trunk@45205 -
2020-05-01 13:02:48 +00:00
Jonas Maebe
05923af386 * ppc64le: fix storing homogeneous 64 bit float parameters in case they are
split over just FPU registers and memory (related to mantis #36934)

git-svn-id: trunk@45204 -
2020-05-01 13:02:45 +00:00
Jonas Maebe
d83232f881 * ELFv2: fixed homogeneous aggregate parameter passing when they should
overflow into integer registers (mantis #36934)

git-svn-id: trunk@45199 -
2020-04-30 20:53:05 +00:00
nickysn
6f6598712f * synchronized with trunk
git-svn-id: branches/z80@45131 -
2020-04-26 22:33:58 +00:00
svenbarth
a467332187 * fix for Mantis #36975: arraydefs are not allowed for generic types (this is only used for type declarations; for specializing constant strings which are char arrays are still allowed)
+ added test

git-svn-id: trunk@45089 -
2020-04-26 11:46:10 +00:00
svenbarth
60345366f2 * fix for Mantis #35140: apply patch by Ryan Joseph together with some further changes by me to add support for constant parameters in generics
+ added tests

git-svn-id: trunk@45080 -
2020-04-25 22:12:35 +00:00
nickysn
26ba399a66 * synchronized with trunk
git-svn-id: branches/z80@45056 -
2020-04-24 19:16:32 +00:00
svenbarth
bd01182ff0 * add support for AND, OR, XOR and NOT of integer values in preprocessor directives (Delphi allows that as well)
+ added test

git-svn-id: trunk@45053 -
2020-04-24 14:09:04 +00:00
nickysn
a189ea4b0b * synchronized with trunk
git-svn-id: branches/z80@45010 -
2020-04-22 22:43:31 +00:00
svenbarth
5ef9a78f5f * fix for Mantis #36951: B and BL can take immediate literals as well
+ added test

git-svn-id: trunk@44999 -
2020-04-22 20:19:14 +00:00
nickysn
86643f8a34 * synchronized with trunk
git-svn-id: branches/z80@44981 -
2020-04-21 23:36:44 +00:00
svenbarth
184d6d61ed * regenerate makefiles
git-svn-id: trunk@44958 -
2020-04-21 06:09:20 +00:00
nickysn
d57ffc4745 * changed the object file format for z80-embedded and z80-zxspectrum to .rel
git-svn-id: branches/z80@44899 -
2020-04-20 23:36:15 +00:00
nickysn
2f68090dd6 * synchronized with trunk
git-svn-id: branches/z80@44898 -
2020-04-20 22:42:08 +00:00
pierre
cd6de6a4ca Regenerate all Makefiles
git-svn-id: trunk@44882 -
2020-04-20 13:58:47 +00:00
nickysn
0f323df7a3 * synchronized with trunk
git-svn-id: branches/z80@44873 -
2020-04-19 21:10:31 +00:00
Jonas Maebe
26ec913725 * regenerated makefiles
git-svn-id: trunk@44861 -
2020-04-19 17:33:47 +00:00
nickysn
b868d653bb * regenerated makefiles after sync with trunk
git-svn-id: branches/z80@44847 -
2020-04-19 13:00:50 +00:00
Jonas Maebe
4b59bcb0ca * regenerated makefiles
git-svn-id: trunk@44793 -
2020-04-18 16:08:25 +00:00
svenbarth
de35356a4d * when checking for an existing operator overload for the assignment operator, check for the correct variant (explicit or not) matching the overload
+ added tests

git-svn-id: trunk@44746 -
2020-04-17 14:44:14 +00:00
florian
cd35cdad25 * fix Min/MaxSingle/Double values, resolves #36870
git-svn-id: trunk@44714 -
2020-04-13 08:48:32 +00:00
florian
5bab6201d5 * rebuild Makefiles
git-svn-id: trunk@44679 -
2020-04-10 19:42:14 +00:00
florian
eee2e9f950 * commented test
git-svn-id: trunk@44610 -
2020-04-05 21:12:12 +00:00
florian
2f5d51436e + with the randseed set as in the test, the test fails on x86_64-linux, added so it won't be forgotten
git-svn-id: trunk@44599 -
2020-04-05 16:26:11 +00:00
florian
0f06a7205b * do not create full copies of objects when object checking is on, resolves #36863
git-svn-id: trunk@44598 -
2020-04-05 16:26:10 +00:00
michael
a24a4b9745 * Patch from Bart Broersma to fix bug ID #36809 - test program
git-svn-id: trunk@44478 -
2020-04-01 07:06:01 +00:00
florian
43dc4c7ea0 * regenerated Makefiles
git-svn-id: trunk@44333 -
2020-03-21 20:59:59 +00:00
florian
bc3131688a * fix precedence of IS operator, resolves #35909
git-svn-id: trunk@44266 -
2020-03-06 10:10:58 +00:00
svenbarth
97c8464b11 * fix for Mantis #36738: when copying a record using its copy operator we assume that we've copied the whole record; this way managed records inside non-managed records are handled correctly
+ added (adjusted) test

git-svn-id: trunk@44257 -
2020-03-02 22:04:45 +00:00
svenbarth
8003f675c5 + add test for already fixed Mantis #24283
git-svn-id: trunk@44249 -
2020-02-28 16:29:14 +00:00
florian
af1a4c06c5 * fixed generic round(...) for large values based on a comment by Alexander Hofmann on fpc-devel
* extended test

git-svn-id: trunk@44235 -
2020-02-23 10:41:18 +00:00
florian
4dff373fef * (modified) patch by J. Gareth Moreton: processor-aware MOVZX optimisation cleanup, resolves #36687
git-svn-id: trunk@44233 -
2020-02-22 18:37:38 +00:00
florian
c146aecc01 * throw an error if the forward interface type and the actual interface type do not match, resolves #36720
git-svn-id: trunk@44230 -
2020-02-21 20:35:27 +00:00
florian
66aa2e1416 * fixed tests for architectures with FPC_COMP_IS_INT64 defined
git-svn-id: trunk@44222 -
2020-02-20 20:51:46 +00:00
florian
bb6028a275 * AArch64: the PIC code needs also more registers, so use the same ifdefs as arm and sparc
git-svn-id: trunk@44217 -
2020-02-19 21:10:20 +00:00
florian
200de64085 * aarch64 suffers also from the limited tan precision of the softfpu
git-svn-id: trunk@44212 -
2020-02-18 21:37:06 +00:00
florian
2214677656 * tests need -CE
git-svn-id: trunk@44206 -
2020-02-17 20:36:35 +00:00
svenbarth
2ad3c6dd97 * fix global generic functions with constraints in mode Delphi by handling implementations with defines outside of parse_generic_parameters
+ added tests

git-svn-id: trunk@44189 -
2020-02-16 09:53:37 +00:00
florian
b7afb2431c * do not allow constraints in headers of procedure implementations in delphi mode, resolves #36584
* better error message if a constraint is found at a wrong location

git-svn-id: trunk@44174 -
2020-02-14 20:56:55 +00:00
svenbarth
c4f3f7f453 * only resolve a dummy symbol if it is a type symbol (thus truly a dummy symbol)
+ added tests

git-svn-id: trunk@44172 -
2020-02-14 16:49:07 +00:00
svenbarth
147559349b * fix for Mantis #36652: gracefully handle the error if one tries to implement a method of a type from another unit
+ added test

git-svn-id: trunk@44170 -
2020-02-14 16:48:58 +00:00
yury
fc42953814 * Disabled range and overflow checks for the tw36587 test, since overflows are intended there.
git-svn-id: trunk@44168 -
2020-02-14 10:37:14 +00:00
florian
1e64133a08 * fix TVector.Reserve after IncreaseCapacity changes, resolves #36698
git-svn-id: trunk@44167 -
2020-02-13 21:29:23 +00:00
yury
39c48f0d01 * Fixed r43577 for cases when the size of the new result of a simplified node after typecheckpass is smaller than the size of the original node's result. This caused internal errors or invalid assembly in some cases. Issue #36587.
git-svn-id: trunk@44151 -
2020-02-11 12:49:12 +00:00
florian
2d47013cd1 * patch by J. Gareth Moreton: fixes internal error 200405231 with inline, resolves #35590
git-svn-id: trunk@44119 -
2020-02-05 20:35:03 +00:00
pierre
b77cd3a3e7 Use TEST_USE_LONGLOG by default, but check TEST_DISABLE_LONGLOG before setting it to 1
git-svn-id: trunk@44114 -
2020-02-04 22:15:44 +00:00
florian
de213ba258 - test removed as it cannot work on all variants of currency support
git-svn-id: trunk@44107 -
2020-02-03 20:16:33 +00:00
florian
2b7447c78d * EPoll_Event is packed only on x86-64, not other 64 Bit CPUs, resolves #34416
* epoll_pwait expects the SigSet size as sixth parameter (kernel syscall only)
  + simple epoll* test

git-svn-id: trunk@44093 -
2020-02-02 14:23:51 +00:00
florian
d479069f8c * might_have_sideeffects takes care of absolute
git-svn-id: trunk@44083 -
2020-02-01 18:00:38 +00:00
svenbarth
1407aa2b4b * fix for Mantis #36631: it's an error if a POINT after an array is not followed by an identifier
+ added tests

git-svn-id: trunk@44082 -
2020-02-01 17:51:46 +00:00
florian
8f707903df * test fixed
git-svn-id: trunk@44075 -
2020-01-31 21:27:46 +00:00
yury
4a756a2d30 * r42239 broke the tw13948b test for aarch64. Fixed this and improved the test.
git-svn-id: trunk@44052 -
2020-01-28 17:50:20 +00:00
yury
405b01f116 * Skip the test for android.
git-svn-id: trunk@44050 -
2020-01-27 18:12:16 +00:00
yury
797795e285 * Skip the test for aarch64.
git-svn-id: trunk@44049 -
2020-01-27 17:50:35 +00:00
yury
3a31391c39 * tests: When cross-testing, if possible, use the "ppc" native compiler to build fpmake. It solves PPU incompatibility errors.
git-svn-id: trunk@44048 -
2020-01-27 17:37:26 +00:00
florian
6c71fd461d * avoid internalerror for dec/inc(...,v) with v>high(int64), resolves #35298
git-svn-id: trunk@44031 -
2020-01-24 21:39:07 +00:00
florian
d87a5cc9fb * take care of m_duplicate_names when checking for duplicate locals, resolves #33221
git-svn-id: trunk@44028 -
2020-01-23 21:32:09 +00:00
pierre
bcf43724bf Add more debug information when verbose is set
git-svn-id: trunk@44022 -
2020-01-23 14:49:59 +00:00
svenbarth
9a42625cfb * also allow by-value open array parameters for the tail recursion optimization
* adjusted test

git-svn-id: trunk@44012 -
2020-01-21 21:30:10 +00:00
svenbarth
4fc02d3d09 * enable tail recursion optimization also for const and constref open arrays
+ added test

git-svn-id: trunk@44011 -
2020-01-21 21:29:56 +00:00
florian
01302bc47d * subroutines working with an OS dependend time stamp use an int64 now, so the 2038 problem
on unixes can be tackled

git-svn-id: trunk@44010 -
2020-01-21 20:59:20 +00:00
florian
069e040e49 * do for-loop unrolling after for-loop simplification, resolves #36589
git-svn-id: trunk@43999 -
2020-01-19 18:21:12 +00:00
florian
007df5d0fa * fix for #36554
git-svn-id: trunk@43913 -
2020-01-11 21:15:19 +00:00
svenbarth
7a0a1d9f36 * fix for Mantis #36544: provide an overall exception handler for the library startup code in case of unhandled exceptions (the loading of the library is considered failed in that case) when SEH is active
+ added test

git-svn-id: trunk@43901 -
2020-01-10 15:39:20 +00:00
pierre
22806e31c3 Add possibility to set explicitly TEST_COMMENT variable, set as Comment field in dbdigest.cfg file (defaulting to TEST_OPT as before)
git-svn-id: trunk@43897 -
2020-01-09 14:40:44 +00:00
pierre
3eb14dd722 Avoid using <> for floating point values, check that abs of difference is small instead (fixes m68k 'pseudo-failure')
git-svn-id: trunk@43896 -
2020-01-09 14:38:58 +00:00
florian
d425a85f8d + Linux.fpstatx, resolves #36501
git-svn-id: trunk@43837 -
2020-01-02 14:10:31 +00:00
florian
f6c16323fa * unified loadnf_load_self_pointer into loadnf_load_addr
+ var parameters are now allowed when doing tail recursion optimziation, resolves #32811

git-svn-id: trunk@43824 -
2019-12-30 22:43:10 +00:00
svenbarth
3e7dc25667 * fix for Mantis #36496: correctly handle the function result alias variable inside generic functions
+ added tests

git-svn-id: trunk@43823 -
2019-12-30 21:35:26 +00:00
florian
00859420ab * correctly handle reading of class/object pointers in combination with @, resolves #26326
git-svn-id: trunk@43804 -
2019-12-28 17:59:23 +00:00
florian
7032c80041 * accept #26 as eof in iso mode, resolves #35136
git-svn-id: trunk@43801 -
2019-12-28 10:35:46 +00:00
florian
94d222ba69 + test for #26791, meanwhile fixed
git-svn-id: trunk@43797 -
2019-12-26 21:10:34 +00:00
florian
fd0012deff * when copying goto nodes take care if the label node is part of the copied tree
or not, resolves #35820

git-svn-id: trunk@43793 -
2019-12-25 17:10:14 +00:00
florian
4de6b3e6b9 * do not crash when an unsupported code page is encountered, resolves #35581
git-svn-id: trunk@43764 -
2019-12-23 21:44:50 +00:00
florian
2f374a37b7 * patch by Bart Broersma to allow to declare "LongInt = AnsiString" comparison
operator in non-macpas modes, resolves #29460

git-svn-id: trunk@43709 -
2019-12-22 22:06:26 +00:00
svenbarth
8111e92e1f * rework syntax for cblocks: now a cblock directive is required
* additionally implicit calling conventions of cdecl or mwpascal now work as well
* adjusted tests
+ added tests

Note: the generator for packages/univint needs to be fixed, until then building on macOS will be broken

git-svn-id: trunk@43684 -
2019-12-14 16:45:38 +00:00
florian
f62fd437b1 * patch by J. Gareth Moreton: improve test and benchmark, resolves #35633
git-svn-id: trunk@43671 -
2019-12-10 21:31:42 +00:00
florian
ef7e4f6f62 * fix J. Gareth Moreton to resolve #36389
git-svn-id: trunk@43670 -
2019-12-09 22:00:45 +00:00
florian
ac6e4f59c6 * better error recovery, resolves #36397
git-svn-id: trunk@43653 -
2019-12-05 20:46:50 +00:00
florian
0cb85eef9b * more currency fixes, should resolve #36176
git-svn-id: trunk@43635 -
2019-12-03 19:31:50 +00:00