Jonas Maebe
|
863e81315e
* changed goto usage in tcallnode.pass_typecheck into try/finally (and at
|
10 years ago |
florian
|
d6bfb29313
* clean usercode_entry flag from outer block when copying a subroutine node tree for inlining, enables sometimes better inlining
|
10 years ago |
florian
|
42020c8bb8
* when passing a parameter by var/out, its address leaves the current scope so the compiler has to take care of this
|
10 years ago |
Jonas Maebe
|
eb419b58c5
- disable inlining of routines that contain a call to a C-style varargs
|
10 years ago |
Jonas Maebe
|
146e3bcb9e
* synchronised with trunk till r29513
|
10 years ago |
Jonas Maebe
|
e97f31541e
- reverted partial commit of merge
|
10 years ago |
Jonas Maebe
|
a76bbf363d
* synchronised with trunk r29513
|
10 years ago |
florian
|
681c1afe6c
* limit inlined expansion and exponential code grow, resolves #23862
|
10 years ago |
florian
|
ccb01d6196
* allow subtraction/addition of internally generated nodes, resolves #27256
|
10 years ago |
florian
|
d540d56908
* unified internal errors
|
10 years ago |
sergei
|
64af966eaa
* Mantis #27044: copy Variant to temp if it cannot be passed by reference to fpc_dispinvoke_variant helper. This provides behavior consistent to implicit 'self' parameter of objects/records.
|
10 years ago |
Jonas Maebe
|
b0639405ac
* compare the actual target nodes when checking whether the result of an
|
10 years ago |
Jonas Maebe
|
bd09b88a5b
+ support for http://en.wikipedia.org/wiki/Blocks_(C_language_extension)
|
11 years ago |
nickysn
|
24fcac9f87
+ added support for nested procvars in the i8086 far data memory models
|
11 years ago |
Jonas Maebe
|
5fa09fa2f4
* changed tcallnode.fforcedprocname from shortstring into tsymstr,
|
11 years ago |
Jonas Maebe
|
9f6d6f4aa8
* copy tcallnode.fforcedprocname field
|
11 years ago |
florian
|
d88d644925
+ support for FMA intrinsic: if there is no hardware support, the compiler throws an error.
|
11 years ago |
Jonas Maebe
|
9c7c64a3af
* moved amiga/morphos-specific libsym-related field from tprocdef to
|
11 years ago |
Jonas Maebe
|
b57c95043f
+ support overriding tdef/tsym methods with target-specific functionality:
|
11 years ago |
Jonas Maebe
|
1ac4021178
* moved po_has_inlininginfo from procoptions to procimploptions so that
|
11 years ago |
Jonas Maebe
|
84442d05f9
* renamed fobjcforcedprocname to fforcedprocname and also use it for the
|
11 years ago |
sergei
|
df6837fa12
* Fixed cloning of varargs parameters in tcallnode.dogetcopy, resolves #23981.
|
11 years ago |
florian
|
1366498255
+ nf_addr_taken: it marks nodes which address is taken
|
11 years ago |
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.
|
11 years ago |
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).
|
11 years ago |
sergei
|
a5d5ce8eb2
* TP-style object destructors do not need actual VMT in hidden parameter, a constant flag indicating need to free memory is sufficient.
|
11 years ago |
florian
|
e6b68d19c8
* reordered decision how arguments for inlining are handled
|
11 years ago |
florian
|
2a7dcf6c7b
* formatting
|
11 years ago |
florian
|
d71bfe4c6f
* var parameters can be put in registers if the callee is inlined
|
11 years ago |
Jonas Maebe
|
c05da62b0e
* detect static data use by record methods and methods of nested classes/
|
11 years ago |