sergei
|
52af9a2c89
* Changed passing of hidden parameters to constructors of class-style objects: VMT is always passed in the first ('self') parameter, and the second one ('vmt', although this name is now misleading) contains flag specifying the constructor behavior and meaning of 'self'. Together with r26656 this removes methodpointer sharing between two parameter node trees, it becomes possible not to put methodpointer into temp, but use node tree below 'self' parameter to do virtual calls. This also matches behavior of Delphi.
|
před 11 roky |
sergei
|
a1dfaa54dd
* Fixed exception handling in constructors of TP-style objects to correctly handle cases of statically allocated objects (must call destructor but do not free memory) and objects without destructor (must free memory if it was allocated dynamically).
|
před 11 roky |
sergei
|
a5d5ce8eb2
* TP-style object destructors do not need actual VMT in hidden parameter, a constant flag indicating need to free memory is sufficient.
|
před 11 roky |
florian
|
e6b68d19c8
* reordered decision how arguments for inlining are handled
|
před 11 roky |
florian
|
2a7dcf6c7b
* formatting
|
před 11 roky |
florian
|
d71bfe4c6f
* var parameters can be put in registers if the callee is inlined
|
před 11 roky |
Jonas Maebe
|
c05da62b0e
* detect static data use by record methods and methods of nested classes/
|
před 11 roky |
sergei
|
1a3b46967e
+ Two more checks for access to global data and setting the pi_needs_got flag, intended for targets that require decision about PIC code generation strictly before pass 2.
|
před 11 roky |
florian
|
4d5119bf1c
* fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables
|
před 12 roky |
florian
|
1d4a4d0684
+ noreturn directive
|
před 12 roky |
svenbarth
|
798bb91e90
Extract tdef.is_related plus its overrides in tobjectdef, trecorddef and tstringdef into a new function def_is_related in unit defcmp.
|
před 12 roky |
florian
|
f95b225157
* fix wrong constant temp handling, introduced in r24953, resolves #24915
|
před 12 roky |
florian
|
be2ab84474
* make actualtargetnode a normal procedure using pointers to node so it can be used also when replacing nodes
|
před 12 roky |
florian
|
541d67771b
* keep managed types in registers if possible. Under certain circumstances (if they don't require init/final code,
|
před 12 roky |
nickysn
|
5dfdb616be
* fixed a regression, introduced in r24571
|
před 12 roky |
nickysn
|
d300116419
* fixed a bug, which caused ptr(nonconst, const) to be incorrectly inlined as a const
|
před 12 roky |
florian
|
0e41df598e
* merge i8086 branch by Nikolay Nikolov
|
před 12 roky |
florian
|
709ba5e053
+ introduce cnf_call_never_returns to signal the dfa if a call node never returns
|
před 12 roky |
florian
|
877c6e9ce9
* formatting
|
před 12 roky |
Jonas Maebe
|
9973a5737f
* don't give an error when calling a class method on an object typecasted
|
před 12 roky |
nickysn
|
284f1c904a
* fixed a parameter pushing order bug on the i8086
|
před 12 roky |
Jonas Maebe
|
1601f6bea8
* treat methods called via records the same as records called via objects
|
před 12 roky |
florian
|
63f6afffd5
+ make empty proc. removal switchable by removeemptyprocs
|
před 12 roky |
svenbarth
|
344571cb4e
Added support for type helpers. In non Delphi modes they use "type helper" and in mode Delphi they use "record helper". They can also be used on constants.
|
před 12 roky |
Jonas Maebe
|
9cbff6f5a6
+ support for record constructors for the JVM target
|
před 12 roky |
Jonas Maebe
|
9145f1d67d
* integrated potype_constructor check in maybe_create_funcret_node
|
před 12 roky |
florian
|
cad1309935
* don't write directly to the function result destination if we are inlining and if the destination is too complex to evaluate (threadvar etc.)
|
před 12 roky |
paul
|
b2a613c17f
compiler: implement record constructors + tests
|
před 12 roky |
paul
|
51825b6f2e
compiler: change ret_in_param to accept tabstractprocdef instead of tproccalloption to allow check more options (required for record constructor implementation)
|
před 12 roky |
florian
|
329257d76e
* check for empty procedures after helper test so even empty helper methods cannot be called directly
|
před 12 roky |