sergei
|
06192a8137
Values of managed variables are never ever used after decrementing reference on the variable, so there is no point of having a 'decrement reference' as a separate operation. We can always do 'finalize', i.e. clear the contents after decref.
|
13 лет назад |
sergei
|
b1cbf30a94
* Managed types passed to out formal parameters must be completely cleaned (decrementing refcount is not enough) at caller side, because callee side doesn't know their actual type and cannot initialize them. Resolves #20962.
|
13 лет назад |
sergei
|
3a579ced7b
* Fixed IE201103063 when <dynamic array of unmanaged type> is being passed to <out open array> parameter.
|
13 лет назад |
pierre
|
b6de7f0d6b
* Suppress Comaprison might be always false if first_mm_imreg is zero
|
14 лет назад |
svenbarth
|
d0705a1779
Rebase to revision 17236
|
14 лет назад |
svenbarth
|
96116a6c3a
Several adjustments because virtual methods in helpers are just normal methods and a VMT isn't generated for them either.
|
14 лет назад |
sergei
|
48d93dc40e
* Fixed handling of "open array of managed type" out-parameters at caller side. Reference count should be decremented only for those array elements which are actually passed to the called procedure; it may be a part of original array if range or slice is used. Concludes work on #18859.
|
14 лет назад |
svenbarth
|
963a4d7b23
Commit of a completely restructured helper implementation. Instead of changing objectdefs with odt_classhelper to odt_class, they'll have the odt_helper type assigned to and this will be kept. This also implies that the parent of a helper is its true parent while the extended type is set to a field in tobjectdef (extendeddef).
|
14 лет назад |
svenbarth
|
d12b198c7f
Rebase to revision 16888
|
14 лет назад |
Jonas Maebe
|
be2bb0b2e1
* free function return location if the callnode immediately copies it to a
|
14 лет назад |
paul
|
56bf42de57
compiler: implement record methods and class methods:
|
14 лет назад |
Jonas Maebe
|
e6c09430cb
* fixed inverted condition in r16052 that could cause superfluous parameter
|
15 лет назад |
Jonas Maebe
|
6094cb79dc
* fixed internalerrors on non-use_fixed_stack platforms after r16050:
|
15 лет назад |
Jonas Maebe
|
f13f6627c4
* moved use_fixed_stack from cgutils to a method in paramgr so it can
|
15 лет назад |
joost
|
b938ea0f2a
* For cdecl functions the funcret is not popped by the caller when it is passed
|
15 лет назад |
joost
|
65ab1e820b
* Safecall on linux/i386 now behaves like cdecl plus hidden exception support.
|
15 лет назад |
Jonas Maebe
|
57bd6d2685
+ merged nestedprocvars branch
|
15 лет назад |
Jonas Maebe
|
a7eb6bf64b
* fixed checking validity of temporary parameter location that triggered
|
15 лет назад |
Jonas Maebe
|
283018a3bf
* changed tprocdef.funcretloc[] from a tlocation into a tcgpara so it can
|
15 лет назад |
Jonas Maebe
|
46ff0c4fc4
* extracted gen_load_cgpara_loc()
|
15 лет назад |
Jonas Maebe
|
f5c52b25cd
* removed "and not is_class()" condition from is_managed_type(), because
|
15 лет назад |
Jonas Maebe
|
e9b62c1294
* refactored general loc->cgpara loading code in ncgcal into helpers in
|
15 лет назад |
Jonas Maebe
|
ef824c53f8
* more cpu-specific ifdef'd fpu/intregister code removed
|
15 лет назад |
Jonas Maebe
|
ceb063c7fe
* moved support for passing floating point values in integer registers from
|
15 лет назад |
Jonas Maebe
|
9bc15a5f61
* renamed a_param_* to a_load_*_cgpara
|
15 лет назад |
florian
|
c1f3d8dcaa
* unified names of system_*/systems_* sets
|
15 лет назад |
Jonas Maebe
|
d1538ab023
o added ARM VPFv2/VFPv3 support:
|
15 лет назад |
Jonas Maebe
|
3660bf7f98
* integrated the transformation of an Objective-C method call into a call
|
16 лет назад |
Jonas Maebe
|
cc5aeb09de
* fixed handling the result value of functions where the result type is
|
16 лет назад |
florian
|
c0d4efed2e
* forbid passing derived classes to call by reference parent classes (for objects, this is still allowed), resolves #13135
|
16 лет назад |