Jonas Maebe
0b246f3dbd
* converted Boolean8 to an internal type, and mapped Boolean to the
...
new internal pasbool1(type) (part of mantis #34411 )
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 #34037
...
* 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