Commit Graph

54345 Commits

Author SHA1 Message Date
Jonas Maebe
0b246f3dbd * converted Boolean8 to an internal type, and mapped Boolean to the
new internal pasbool1(type) (part of mantis )
   o apply the _Bool x86-64 parameter passing rules only to pasbool1

git-svn-id: trunk@39949 -
2018-10-16 21:14:18 +00:00
yury
9ee1682955 * Fixed interface delegation for aarch64 (tdel1 and tdel2 tests).
It was broken by r31676 which did not take in account r29953. As a consequence $self was passed in register x1 instead of x0 when the method result is of a managed type.
  This fix enables changing order of the $self and $result parameters only for aarch64 AND llvm combination where it is actually needed.
  The issue with interface delegation still exists for aarch64-llvm and need to be fixed separately. Probably by applying llvm-specific workarounds as it was made in r29953 for regular aarch64 targets.

git-svn-id: trunk@39948 -
2018-10-16 20:32:02 +00:00
yury
84b5129f1d * Fixed writing of method's RTTI for aarch64 by explicitly writing the $self parameter first.
git-svn-id: trunk@39947 -
2018-10-16 17:24:07 +00:00
Mattias Gaertner
a70f58f68e fcl-passrc: adapted pasresolveeval for pas2js
git-svn-id: trunk@39946 -
2018-10-16 10:48:56 +00:00
pierre
4c0a213f0d Add -Tlinux and -Tembedded help lines for riscv32 and riscv64 compilers
git-svn-id: trunk@39945 -
2018-10-16 10:41:27 +00:00
Mattias Gaertner
23fe74416c pastojs: currency:=integer becomes c:=i*10000, integer(currency) becomes Math.floor(cur/10000)
git-svn-id: trunk@39944 -
2018-10-16 07:55:36 +00:00
Mattias Gaertner
3f08a6c05c fcl-passrc: resolver: int64(currency)
git-svn-id: trunk@39942 -
2018-10-16 07:27:52 +00:00
Mattias Gaertner
d9be52c759 fcl-passrc: fixed MaxPrecInt to TMaxPrecInt, using TMaxPrecInt instead of int64
git-svn-id: trunk@39940 -
2018-10-15 21:58:04 +00:00
Mattias Gaertner
c7675335a6 fcl-passrc: adapted pparser for pas2js
git-svn-id: trunk@39939 -
2018-10-15 19:33:39 +00:00
Mattias Gaertner
0e13bac228 fcl-passrc: useanalyzer: fixed p^.x:=
git-svn-id: trunk@39937 -
2018-10-15 19:32:07 +00:00
pierre
293973b306 Add missing setting of expectloc for multiplications
git-svn-id: trunk@39935 -
2018-10-14 22:18:50 +00:00
florian
eea088c5f5 * allow nil to be assigned to generic types, resolves
* niln is also a constant node

git-svn-id: trunk@39934 -
2018-10-14 07:38:13 +00:00
Mattias Gaertner
5499533ddc fcl-passrc: useanalyzer: if then else ;
git-svn-id: trunk@39932 -
2018-10-13 21:01:50 +00:00
Mattias Gaertner
dd81e62f3a pastojs: if then <empty> else ;
git-svn-id: trunk@39929 -
2018-10-13 20:57:05 +00:00
Mattias Gaertner
15dfb9eed3 fcl-passrc: resolver: if then <empty> else ;
git-svn-id: trunk@39928 -
2018-10-13 20:56:48 +00:00
Mattias Gaertner
903854ad82 fcl-passrc: resolver: fixed include(FuncResultSet,enum)
git-svn-id: trunk@39926 -
2018-10-13 20:40:23 +00:00
pierre
c9c8ff1eef Set MaxLocalsSize according to address size not register size
git-svn-id: trunk@39925 -
2018-10-13 12:00:31 +00:00
pierre
5ccced201a Downgrade some warnings to notes for EXTDEBUG
git-svn-id: trunk@39924 -
2018-10-13 11:35:34 +00:00
pierre
aa89182bf5 Fix compilation with -dEXTDEBUG
git-svn-id: trunk@39923 -
2018-10-13 11:34:53 +00:00
pierre
68bcffc3e0 Fix riscv64 compiler compilation with -dEXTDEBUG
git-svn-id: trunk@39922 -
2018-10-13 09:47:29 +00:00
Mattias Gaertner
894e4823a5 fcl-passrc: pscanner: adapted for pas2js
git-svn-id: trunk@39921 -
2018-10-12 15:20:03 +00:00
Mattias Gaertner
80c12f56b7 fcl-passrc: useanalyzer: fixed WPO for record constants
git-svn-id: trunk@39919 -
2018-10-12 15:17:45 +00:00
yury
9ef7a17390 * Delete temp files after test.
git-svn-id: trunk@39918 -
2018-10-12 15:08:30 +00:00
yury
5fc2ea362f * Use syscall_nr_renameat for android.
git-svn-id: trunk@39917 -
2018-10-12 15:07:55 +00:00
yury
d0b6f427d3 * Fixed checks for exceeding limit of locals space. Prevent range and overflow errors during the checks. Introduced the MaxLocalsSize constant which provides the maximum possible size of locals space (stack frame) depending of bitness of a cpu.
git-svn-id: trunk@39916 -
2018-10-12 14:43:17 +00:00
yury
4860f3934a * Fixed overflow error when calling align() with corner case values such as align($7FFFFFFC, 4) for the longint variant.
git-svn-id: trunk@39915 -
2018-10-12 14:38:14 +00:00
pierre
a898ae856f Adapt ppudump to fix introduced in revision 39912
git-svn-id: trunk@39914 -
2018-10-12 06:05:50 +00:00
pierre
66e7c78a8f fix position of ppuload_platform for trecorddef
git-svn-id: trunk@39913 -
2018-10-11 21:02:25 +00:00
pierre
88bddc2cb0 Fix ppuload for string type for i8086, use getasizeint for all string defs but short string
git-svn-id: trunk@39912 -
2018-10-11 20:38:39 +00:00
yury
9f32b99ea6 * dotest: When executing a remote test, prevent overwrite of the test's result and log by final cleanup commands.
git-svn-id: trunk@39911 -
2018-10-11 18:58:19 +00:00
marco
b3feccb397 * fix trailing quote char. Patch by wp mantis 34405
git-svn-id: trunk@39910 -
2018-10-10 08:23:50 +00:00
Mattias Gaertner
4f37b61cdb fcl-passrc: pastree adapted for pas2js
git-svn-id: trunk@39908 -
2018-10-09 11:20:21 +00:00
Mattias Gaertner
27a9d53dd2 fcl-passrc: resolver: fixed high(intvar)
git-svn-id: trunk@39906 -
2018-10-09 11:17:00 +00:00
yury
9d7308df42 * Android: Reworked the startup code to use no assembly instructions. Generic assembler startup files contains only section data and are compiled for each CPU.
* Android: argc and argv are correct for shared libraries.

git-svn-id: trunk@39905 -
2018-10-08 16:48:41 +00:00
Mattias Gaertner
54841337fe fcl-json: adapted fpjson for pas2js
git-svn-id: trunk@39904 -
2018-10-08 09:12:58 +00:00
yury
88365b6d92 * Enabled safecall support for aarch64 to be on par with other cpus.
git-svn-id: trunk@39903 -
2018-10-08 08:37:18 +00:00
yury
da39d06d80 + Added test object files for aarch64-android.
git-svn-id: trunk@39902 -
2018-10-08 08:29:23 +00:00
svenbarth
2f6b15b1e2 * fix tests now that the RTTI of method pointer variables also contains the hidden parameters
git-svn-id: trunk@39901 -
2018-10-08 05:43:44 +00:00
Mattias Gaertner
edfd512b22 fcl-passrc: resolver: allow array property accessor argument mismatch const/default for simple types
git-svn-id: trunk@39899 -
2018-10-07 16:24:52 +00:00
Mattias Gaertner
ddf409d7ad fcl-js: adapted jswriter for pas2js
git-svn-id: trunk@39898 -
2018-10-07 12:58:35 +00:00
svenbarth
e644e6332b - remove forgotten debug code
git-svn-id: trunk@39897 -
2018-10-07 12:51:09 +00:00
svenbarth
c97b607e60 * also run invoke tests if internal function call manager is available (which we prefer to the ffi one)
git-svn-id: trunk@39896 -
2018-10-07 12:26:09 +00:00
svenbarth
509383aeb3 + add define to use ffi function call manager for tests
git-svn-id: trunk@39895 -
2018-10-07 12:26:06 +00:00
svenbarth
ea5f407c49 + add a TFunctionCallManager that provides built in Invoke() support for x86_64-win64
git-svn-id: trunk@39894 -
2018-10-07 12:26:03 +00:00
svenbarth
afc83b9f70 + implement the high level Invoke() for TRttiMethod (currently only for interface methods), TRttiMethodType and TRttiProcedureType
git-svn-id: trunk@39893 -
2018-10-07 12:25:59 +00:00
svenbarth
91899c7bb1 * ensure that the elements field of ffi_type is initialized correctly so that the trick with the dynamic array works correctly
git-svn-id: trunk@39892 -
2018-10-07 12:25:55 +00:00
svenbarth
3bdb4aa1a2 * correctly handle ShortString, object and array fields that are part of a record/object
git-svn-id: trunk@39891 -
2018-10-07 12:25:52 +00:00
svenbarth
b91c856e38 * also take param flags into consideration
git-svn-id: trunk@39890 -
2018-10-07 12:25:49 +00:00
svenbarth
3ca2529b58 * extend TValue.ToString for a few more types
git-svn-id: trunk@39889 -
2018-10-07 12:25:45 +00:00
svenbarth
7bb147dce0 + add TRttiMethodType for method variables and TRttiProcedureType for procedure variables
git-svn-id: trunk@39888 -
2018-10-07 12:25:42 +00:00