Commit Graph

51551 Commits

Author SHA1 Message Date
svenbarth
9dff6043d9 * correctly handle DataSize for ShortString
git-svn-id: trunk@36988 -
2017-08-20 19:49:14 +00:00
svenbarth
c74afe6824 * expand test cases
git-svn-id: trunk@36987 -
2017-08-20 19:21:48 +00:00
svenbarth
00757ec79f + add AsInt64 and AsUInt64
git-svn-id: trunk@36986 -
2017-08-20 19:21:05 +00:00
svenbarth
5f116c4cec * empty class and object instance seems to be handled a bit different
git-svn-id: trunk@36985 -
2017-08-20 19:20:42 +00:00
svenbarth
ae6352611f * correctly handle IsEmpty if Nil had been passed to Make
git-svn-id: trunk@36984 -
2017-08-20 19:19:41 +00:00
svenbarth
a03b9d0fc4 * correctly handle AsString if Nil had been passed to Make
git-svn-id: trunk@36983 -
2017-08-20 19:19:07 +00:00
michael
31f5836e06 * Added fcl-db as dependency
git-svn-id: trunk@36982 -
2017-08-20 19:14:08 +00:00
svenbarth
0387df3228 * allow the buffer passed to Make() to be Nil
git-svn-id: trunk@36981 -
2017-08-20 19:08:57 +00:00
svenbarth
bd74f9af64 * also initialize variant part in Empty function
git-svn-id: trunk@36980 -
2017-08-20 19:08:27 +00:00
svenbarth
3cb8cb293d * correctly raise exception
git-svn-id: trunk@36979 -
2017-08-20 19:07:55 +00:00
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