svenbarth
|
f905303c4a
+ new TParamFlag pfResult if the result is passed as a parameter and thus needs to be set up as well
|
8 years ago |
svenbarth
|
854a82b58b
* move write_param_flag() from local to class scope
|
8 years ago |
svenbarth
|
5275c36393
+ extend TParamFlags by values for hidden parameters in general and especially the hidden high, self and vmt parameters (this is necessary so a manager approach for Invoke() can be used with as few knowledge about the involved calling conventions as possible)
|
8 years ago |
svenbarth
|
6b641394d0
* fix for Mantis #31201: don't write any RTTI for undefined defs (and while we're at it abort if an error def is encountered)
|
8 years ago |
svenbarth
|
417f1cd49d
+ initial implementation of the RTTI for parameter locations (not *yet* used by anything)
|
8 years ago |
svenbarth
|
0ed00f64f5
* move writing of the calling convention into its own method
|
8 years ago |
svenbarth
|
e3f10500b0
* move writing of the methodkind into its own function (and return the value as its a bit more complicated to calculate than merely checking proctypeoption)
|
8 years ago |
florian
|
2e779239ad
* fix rtti for targets with a max. C record alignment > 8 bytes
|
8 years ago |
florian
|
0b82f71e8d
* take care of the fact that there are 32 bit abis (e.g. ARMHF) which align qword on 8 byte boundaries, resolves issue #31132
|
8 years ago |
svenbarth
|
7023a6f95b
* have the remaining 7 Boolean types also use tkBool as typekind instead of tkInteger
|
8 years ago |
svenbarth
|
dbbb6dca32
* correctly treat Boolean64 as otUQword and QWordBool as otSQWord (the former having QWord range 0..1, the latter Low(Int64)..High(Int64))
|
8 years ago |
svenbarth
|
26e7d005aa
* use Low(LongInt) and Max(LongInt) as min/max values for the RTTI of the ByteBool, WordBool and LongBool types to be Delphi compatible; the range of the defs is not changed to avoid the application of range checks
|
8 years ago |
Jonas Maebe
|
d8c4980b2e
* don't reuse the same type with the typed const builder for
|
8 years ago |
Jonas Maebe
|
691c2d655e
* put multiple statements of the else-part of case between begin..end
|
8 years ago |
Jonas Maebe
|
fe6b662c37
* fixed range error
|
8 years ago |
Jonas Maebe
|
bcb7fedb3c
* fixed indentation
|
8 years ago |
svenbarth
|
86207c9b55
- remove no longer valid {otNone} comment
|
8 years ago |
svenbarth
|
a9d14fe30b
* extend TOrdType by entries for 64-bit values
|
8 years ago |
svenbarth
|
7089677a22
* change RecInitTable into a direct reference to avoid an unnecessary indirection as both the full and init RTTI of a record always reside inside the same unit
|
8 years ago |
svenbarth
|
e580e22576
* extend ref_rtti() with the possibility to use a direct reference if really desired
|
8 years ago |
svenbarth
|
12dba952f0
* integration of Part 2 patch of Mantis #30687 with a few adjustments:
|
8 years ago |
Jonas Maebe
|
5efb32285a
* fixed alignment for interface RTTI (patch by Alfred, mantis #30182)
|
8 years ago |
Jonas Maebe
|
4c9903455e
- don't apply const_align() to alignments passed to high level typed
|
8 years ago |
nickysn
|
8672d25e9a
* use tai_const.create_nil_dataptr instead of .create_pint(0) when writing the
|
8 years ago |
nickysn
|
4dc35b0996
* use sizeint when writing the element size and count for the array rtti
|
8 years ago |
Jonas Maebe
|
ae51adac18
* give names to the types of the fields of the enumdef rtti, so that we can
|
9 years ago |
svenbarth
|
f50671fe44
* reference the RTTI assembler symbols if they're queried from a different unit than the own they're declared in
|
9 years ago |
svenbarth
|
50865158a4
Fix for Mantis #30410.
|
9 years ago |
svenbarth
|
f69b365b77
* declare various symbols as external assembler symbols: RTTI references, parent VMT, FPC_EMPTYMETHOD (all three only if it's used from a different unit), threadvar lists and symbols declared as "external"
|
9 years ago |
svenbarth
|
bb72c1c4df
* declare various assembler symbols (VMT, RTTI, threadvars) as public assembler symbols
|
9 years ago |