michael
|
de469955b3
|
* Test statements removed
git-svn-id: trunk@36978 -
|
2017-08-20 19:04:03 +00:00 |
|
florian
|
4a54a88cca
|
+ implement tcg.a_load_cgparaloc_ref for un-even sizes and little endian systems as well
git-svn-id: trunk@36977 -
|
2017-08-20 18:40:58 +00:00 |
|
michael
|
f65a36685c
|
* Fix resourcestring deps
git-svn-id: trunk@36976 -
|
2017-08-20 18:33:53 +00:00 |
|
svenbarth
|
6a95291eda
|
* always clear the variant part of FData
git-svn-id: trunk@36975 -
|
2017-08-20 18:31:52 +00:00 |
|
svenbarth
|
3b27c39934
|
* allow making of a TValue out of a raw interface
git-svn-id: trunk@36974 -
|
2017-08-20 18:31:15 +00:00 |
|
svenbarth
|
2d226e5db5
|
* allow making of a TValue out of a record or object (TP style) value
git-svn-id: trunk@36973 -
|
2017-08-20 18:30:40 +00:00 |
|
svenbarth
|
762211dd06
|
* allow making of a TValue out of a Wide- or UnicodeString
git-svn-id: trunk@36972 -
|
2017-08-20 18:29:58 +00:00 |
|
svenbarth
|
48c76cd536
|
* allow making of a TValue of dynamic and static arrays
git-svn-id: trunk@36971 -
|
2017-08-20 18:29:26 +00:00 |
|
svenbarth
|
b6fa83fe92
|
+ add TValue.GetArrayLength, TValue.GetArrayElement and TValue.SetArrayElement
git-svn-id: trunk@36970 -
|
2017-08-20 18:28:38 +00:00 |
|
svenbarth
|
9c0423b3a4
|
+ add TValue.AsInterface to retrieve a COM style interface again
git-svn-id: trunk@36969 -
|
2017-08-20 18:27:49 +00:00 |
|
svenbarth
|
e2458c9803
|
+ add support for making a TValue out of a COM interface
git-svn-id: trunk@36968 -
|
2017-08-20 18:27:11 +00:00 |
|
svenbarth
|
40f8b4a77c
|
+ since I accidentally committed the assignment operator overload implementations add their declarations as well...
git-svn-id: trunk@36967 -
|
2017-08-20 18:26:02 +00:00 |
|
svenbarth
|
66725ccfc7
|
+ add TValue.GetReferenceToRawData
git-svn-id: trunk@36966 -
|
2017-08-20 18:24:59 +00:00 |
|
svenbarth
|
cd73a46313
|
+ add TValue.DataSize property
git-svn-id: trunk@36965 -
|
2017-08-20 18:23:57 +00:00 |
|
svenbarth
|
ceb982930c
|
* even though Delphi defines GetDataSize as LongInt (or more precisely Integer) we use SizeInt as that is what we allow for arrays, strings and memory allocations in general as well
git-svn-id: trunk@36964 -
|
2017-08-20 18:23:05 +00:00 |
|
svenbarth
|
95523157e5
|
* rework TValueDataIntImpl to work more as it does in Delphi (especially important for GetReferenceToRawData); note: the class avoids the use of an allocation in case it's a managed pointer type
git-svn-id: trunk@36963 -
|
2017-08-20 18:19:31 +00:00 |
|
michael
|
6672e77222
|
* Added fcl-report
git-svn-id: trunk@36962 -
|
2017-08-20 18:00:29 +00:00 |
|
florian
|
37a5716819
|
* reuse more sparc code for sparc64
git-svn-id: trunk@36961 -
|
2017-08-20 17:20:43 +00:00 |
|
florian
|
7f72c780d8
|
* cleanup
git-svn-id: trunk@36960 -
|
2017-08-20 17:20:42 +00:00 |
|
florian
|
9529416ba0
|
+ sparc64 support for the fpc executable
git-svn-id: trunk@36959 -
|
2017-08-20 17:20:40 +00:00 |
|
florian
|
7f286eb54e
|
+ define cpudelayslot: set during compiler compilation for CPUs having branch instructions with delay slot (MIPS, SPARC)
git-svn-id: trunk@36958 -
|
2017-08-20 17:20:38 +00:00 |
|
florian
|
049d7884cd
|
* take advantage of the fact that SRA reg1,x,reg2 sign extends to the upper 32 bit bits of a 64 bit register
git-svn-id: trunk@36957 -
|
2017-08-20 17:20:37 +00:00 |
|
florian
|
ec141a716b
|
* SLAX and MULX are candidates for the OpMov2Mov optimization as well
git-svn-id: trunk@36956 -
|
2017-08-20 17:20:35 +00:00 |
|
florian
|
f18ddd6a54
|
+ SLLXSRxXST2ST assembler optimization for SPARC64
git-svn-id: trunk@36955 -
|
2017-08-20 17:20:33 +00:00 |
|
florian
|
265eae2cc1
|
+ DebugMsg for SPARC assembler optimizer
git-svn-id: trunk@36954 -
|
2017-08-20 17:20:32 +00:00 |
|
florian
|
dba1761a76
|
+ tcgx86.a_load_reg_ref cuts data if the ref. size is smaller than the reg. size
git-svn-id: trunk@36953 -
|
2017-08-20 16:45:02 +00:00 |
|
florian
|
a53d6bd6bd
|
* pass the correct size to a_load_cgparaloc_ref in gen_load_cgpara_loc to avoid to overwrite adjacent data
git-svn-id: trunk@36952 -
|
2017-08-20 15:22:01 +00:00 |
|
florian
|
43b017bde0
|
* tcg.a_load_cgparaloc_ref checks the size of the ref exactly to avoid overwriting of adjacent data
git-svn-id: trunk@36951 -
|
2017-08-20 15:21:59 +00:00 |
|
florian
|
9b3e0a80df
|
* a_loadfpu_ref_cgpara uses g_concatcopy instead of a_load_ref_ref
git-svn-id: trunk@36950 -
|
2017-08-20 15:21:57 +00:00 |
|
florian
|
09d99a6009
|
* sparc64 does not generate a unimp instruction if a parameter is returned in a memory location
git-svn-id: trunk@36949 -
|
2017-08-20 15:21:55 +00:00 |
|
florian
|
4988337e6f
|
* correctly set std_param_align for sparc64
git-svn-id: trunk@36948 -
|
2017-08-20 15:21:54 +00:00 |
|
florian
|
9c3f5db022
|
* split create_paraloc_info_intern for sparc32 and sparc64
* fixed several sparc64 calling convention issues
git-svn-id: trunk@36947 -
|
2017-08-20 15:21:51 +00:00 |
|
florian
|
50fab14389
|
* TIOCtlRequest is 64 bit on sparc64
git-svn-id: trunk@36946 -
|
2017-08-20 15:21:50 +00:00 |
|
florian
|
0caccdc238
|
* fix range check error
git-svn-id: trunk@36945 -
|
2017-08-20 15:21:48 +00:00 |
|
florian
|
b948a0738c
|
* unified internalerror
* cosmetics
git-svn-id: trunk@36944 -
|
2017-08-20 15:21:46 +00:00 |
|
svenbarth
|
50f3479f64
|
+ add test for the DynArray* functions (currently only DynArraySize() and DynArrayIndex() are tested)
git-svn-id: trunk@36943 -
|
2017-08-20 15:16:16 +00:00 |
|
svenbarth
|
c45f738081
|
* fix DynArrayIndex(): as the last typeinfo entry is no longer a dynamic array the elSize needs to be remembered
git-svn-id: trunk@36942 -
|
2017-08-20 15:15:25 +00:00 |
|
marcus
|
9291fb1eed
|
Arosunits: Fixed CliInit() entry
git-svn-id: trunk@36941 -
|
2017-08-19 19:23:48 +00:00 |
|
svenbarth
|
b478ae031a
|
- remove %NORUN flag (remnant of copy pasting the test)
git-svn-id: trunk@36940 -
|
2017-08-18 15:32:28 +00:00 |
|
svenbarth
|
1fe6404760
|
* a touch more inlining
git-svn-id: trunk@36939 -
|
2017-08-18 15:30:33 +00:00 |
|
svenbarth
|
324e63b5d3
|
* a bit of language consolidation: "type helper" can now be used for records and classes as well
git-svn-id: trunk@36938 -
|
2017-08-18 15:29:19 +00:00 |
|
svenbarth
|
b6a3d66224
|
* adjust check for non-static class methods in class helpers in so far that only classes allow such methods (interfaces and objects would not either)
git-svn-id: trunk@36937 -
|
2017-08-18 15:27:47 +00:00 |
|
svenbarth
|
eef06e9bc6
|
* move the check whether a subclassed type helper extends a suitable subtype of the parent's extended type to a nested procedure
git-svn-id: trunk@36936 -
|
2017-08-18 15:25:53 +00:00 |
|
svenbarth
|
d8ce141e2c
|
* fix program name
git-svn-id: trunk@36935 -
|
2017-08-18 14:13:59 +00:00 |
|
maciej-izak
|
fff81bea64
|
* fix test run in Delphi: new Delphi (probably since XE7) has bug for method pointer which is considered as managed. Older Delphi versions are ok in this matter.
git-svn-id: trunk@36931 -
|
2017-08-17 21:45:55 +00:00 |
|
nickysn
|
b41762d1bf
|
+ perform the optimization in tmoddivnode.firstoptimize also for div/mod by
negative powers of 2 as well
git-svn-id: trunk@36930 -
|
2017-08-17 15:56:20 +00:00 |
|
nickysn
|
e47a0599a5
|
* update revision.inc
git-svn-id: trunk@36929 -
|
2017-08-17 15:20:11 +00:00 |
|
nickysn
|
910e1eccc8
|
* set the bit mask, used for modulus by power-of-2 in a way, that is independent
from the sign of the divisor (so that negative powers of 2 can be supported as
well in the future)
git-svn-id: trunk@36928 -
|
2017-08-17 15:19:37 +00:00 |
|
Mattias Gaertner
|
92510ebe08
|
fcl-passrc: resolver: fixed reading constant $8000000000000000
git-svn-id: trunk@36927 -
|
2017-08-16 10:30:34 +00:00 |
|
Mattias Gaertner
|
0ddf135404
|
fcl-passrc: resolver: fixed [][]
git-svn-id: trunk@36926 -
|
2017-08-16 10:29:32 +00:00 |
|