Jonas Maebe
|
362ff5ad01
* only check for _PROPERTY as a regular token, so that
|
před 11 roky |
sergei
|
96dd464bf2
* Moved fixup_jmps to target-specific classes for powerpc,powerpc64 and MIPS, cleaned out remaining $ifdef's. A slight functionality change is that fixup_jmps is now called before adding the procedure end symbol, not after, but that should not matter.
|
před 11 roky |
sergei
|
eeb15fc445
* Added virtual method tprocinfo.postprocess_code and moved target-specific processing from base class into target-specific descendant classes (ARM and AVR, other targets still to do).
|
před 11 roky |
Jonas Maebe
|
d020a32b9a
- removed no longer used tprocdef.fpu_used field for i386/i8086 (the one
|
před 11 roky |
Jonas Maebe
|
b57c95043f
+ support overriding tdef/tsym methods with target-specific functionality:
|
před 11 roky |
florian
|
686a2d2f3f
+ Support omitting the frame pointer on arm even in procedures with incoming parameters
|
před 11 roky |
florian
|
04464b8622
* do not create an fpc_zeromem node if size=0
|
před 11 roky |
Jonas Maebe
|
f936a48afa
* don't change the forward/interface definition of regular forward/interface
|
před 11 roky |
Jonas Maebe
|
1ac4021178
* moved po_has_inlininginfo from procoptions to procimploptions so that
|
před 11 roky |
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 |
florian
|
b1f54b2853
* indentation fixed
|
před 11 roky |
florian
|
fc7dc9e54c
* do cse after the init/final code has been inserted, this might enable new cse opportunities
|
před 11 roky |
florian
|
6e63272ab7
* added missing parenthesis
|
před 11 roky |
nickysn
|
338d72f564
* extracted the code from psub.translate_registers for generating the name of
|
před 11 roky |
sergei
|
6ea9ce1077
* Force managed types to be always returned in parameters, independent of target (primitive types were already handled that way; the patch affects small records with fields of managed types).
|
před 11 roky |
florian
|
99eadb91b3
* run CheckAndWarn to get proper locations for warnings about uninitialized variables
|
před 12 roky |
florian
|
8be7cfa05f
* check the scope of a variable when checking dfa based uninitialized variables,
|
před 12 roky |
florian
|
57586b69c7
* implicit try...finally frames are added after dfa so we don't have to take care if the subroutine needs/uses those or not
|
před 12 roky |
florian
|
3cb747f4a7
* mark the node which is the entry of the user code with a flag
|
před 12 roky |
florian
|
cca520abd9
+ warn for uninitialized out parameters when dfa is enabled
|
před 12 roky |
florian
|
1a4584f4c6
+ dead store elimination, based on a patch by Jeppe Johansen
|
před 12 roky |
florian
|
e8787c4b48
+ constant propagation, based on a patch by Jeppe Johansen
|
před 12 roky |
svenbarth
|
68a3827539
Fix for Mantis #21051. Correctly handle specializations that occur during the specialization of methods.
|
před 12 roky |
sergei
|
7fbcf64608
* Disabled r25488 for ARM targets since it causes crashes there, Mantis #25050.
|
před 12 roky |
sergei
|
1bd43f0ea1
* Outgoing parameters on stack do not need to inhibit stack frame optimization on targets with fixed stack, because there they do not modify stack pointer in the middle of routine.
|
před 12 roky |
florian
|
d4968e054b
+ arm: tsettings.instructionset
|
před 12 roky |
sergei
|
ac2006898f
* Mark procedures with shortstring value parameters as non-leaf, because such parameters generate a call (to fpc_shortstr_assign).
|
před 12 roky |
svenbarth
|
fc79d47b09
Fix for Mantis #24651. Allow pointer comparison for internal expressions (in this case check for valid VMT).
|
před 12 roky |
sergei
|
1419a12865
- Removed MIPS-specific code which has been copied to TMIPSProcinfo.set_first_temp_offset in r23885.
|
před 12 roky |