Jonas Maebe
|
904a033ba2
* factored out the code for loading a procvar address, and fixed all used
|
преди 11 години |
Jonas Maebe
|
bd09b88a5b
+ support for http://en.wikipedia.org/wiki/Blocks_(C_language_extension)
|
преди 11 години |
Jonas Maebe
|
d8394fc89c
* call fpc_iocheck via hlcg.g_call_system_proc()
|
преди 11 години |
Jonas Maebe
|
bacd303208
* synchronized with trunk up to r27758
|
преди 11 години |
Jonas Maebe
|
5fa09fa2f4
* changed tcallnode.fforcedprocname from shortstring into tsymstr,
|
преди 11 години |
Jonas Maebe
|
73a3f5ced4
* moved ncgutil.maybechangeloadnodereg() to hlcg.maybe_change_load_node_reg()
|
преди 11 години |
Jonas Maebe
|
84442d05f9
* renamed fobjcforcedprocname to fforcedprocname and also use it for the
|
преди 11 години |
Jonas Maebe
|
752b6739a8
* properly handle address and temp registers in return locations
|
преди 11 години |
Jonas Maebe
|
81427523ab
* pass a list of (pointers to) the paralocs to hlcgobj.a_call/g_call*, as
|
преди 11 години |
Jonas Maebe
|
f629f38bbc
- removed unused local variable
|
преди 11 години |
sergei
|
9c1f917e3a
* a_call_ref functionality cannot be implemented efficiently at code generator level, because references need specific preparations at earlier points. Moved this support to tcgcallnode and its x86 descendants, and got rid of all ifdef's around.
|
преди 11 години |
sergei
|
7104157a57
* Changed tabstractprocdef.address_size to return the def, which can be used to get other properties like size and alignment. Removes one of i8086 ifdef's.
|
преди 11 години |
sergei
|
e0082262cc
* Don't generate VMT checking code twice (gen_load_vmt_register generates it already).
|
преди 11 години |
sergei
|
ff3fe06af9
* Changed condition around declaration of 'cgpara' to be the same as around its usage.
|
преди 11 години |
svenbarth
|
235c06ab34
Implement volatile address registers. Fixes quite some tests, but also breaks others... (overall more are fixed than are broken :) )
|
преди 12 години |
nickysn
|
1029636dfe
* far proc fixes in tcgcallnode.pass_generate_code
|
преди 12 години |
nickysn
|
ed92dee3fb
* fixed the calling of virtual methods on i8086
|
преди 12 години |
Jonas Maebe
|
8b8a786823
* moved ARM/x86 ifdef'ed code from ncgcal to virtual methods
|
преди 12 години |
Jonas Maebe
|
4daa40f480
* reorder register parameters to minimise the number of register conflicts,
|
преди 12 години |
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.
|
преди 12 години |
svenbarth
|
7bad1763b8
Decrease amount of code duplication regarding handling of safecall and record constructors.
|
преди 12 години |
Jonas Maebe
|
10e3cab1b1
* fixed formatting
|
преди 12 години |
paul
|
5d74e0578a
compiler: remove unused variables and unneeded assignments
|
преди 12 години |
paul
|
b2a613c17f
compiler: implement record constructors + tests
|
преди 12 години |
paul
|
51825b6f2e
compiler: change ret_in_param to accept tabstractprocdef instead of tproccalloption to allow check more options (required for record constructor implementation)
|
преди 12 години |
Jonas Maebe
|
69c29a415f
* pass the procdef to getintparaloc instead of only the proccalloption, so
|
преди 12 години |
pierre
|
7ea11f0171
Use SUPPORT_SAFECALL conditional
|
преди 13 години |
florian
|
67744ef46e
* fix methodpointers in registers on big endian targets
|
преди 13 години |
florian
|
4514a55ec6
* call method pointers located in registers correctly
|
преди 13 години |
Jonas Maebe
|
0a1157da38
* fixed memory leaks in the compiler introduced in r21862 by marking and
|
преди 13 години |