Jonas Maebe
|
2205549316
* changed fix for webtbs/tw20075 so that we don't check the need for
|
10 ani în urmă |
svenbarth
|
e8fca1c9c0
* move tspecializationstate from pgenutil.pas into a new unit named pgentype.pas which contains types related to generics with as few dependencies as possible.
|
10 ani în urmă |
Jonas Maebe
|
a58504990a
* fixed llvm handling of routines that are normally declared in the
|
10 ani în urmă |
florian
|
9a55e8fa3c
* do not call typecheckpass unncessarily in generic definitions, it might cause only errors, resolves #28058
|
10 ani în urmă |
Jonas Maebe
|
b39bc5888a
* moved the import name handling entirely to hlcgobj so it can be
|
10 ani în urmă |
Jonas Maebe
|
2cdf969649
* don't define asmsymbols for weak external functions as local/global
|
10 ani în urmă |
florian
|
420309ec59
* reduce dependencies of the procinfo unit
|
10 ani în urmă |
florian
|
f972398a8c
+ main program never returns
|
10 ani în urmă |
Jonas Maebe
|
67b8aceaee
* synchronized with privatetrunk till r30095
|
10 ani în urmă |
florian
|
932b68310e
* do not warn about internally generated parameters, resolves #25914
|
10 ani în urmă |
sergei
|
adeb8c93e9
* Set pi_do_call flag explicitly when procedure has a parameter or local var that require finalization. Normally it is set by implicit try..finally node, but this node is absent when compiling in {$implicitexceptions off} mode. This may cause internal errors in pass 2 if pi_do_call has not been set by other means.
|
10 ani în urmă |
Jonas Maebe
|
eb419b58c5
- disable inlining of routines that contain a call to a C-style varargs
|
10 ani în urmă |
florian
|
69ac7dd7ef
* limit initialization to register variables which really need to be initialized
|
10 ani în urmă |
svenbarth
|
af43e5e3e9
Fix for Mantis #24872.
|
10 ani în urmă |
florian
|
f1eb00a450
* do not issue a hint about uninitialized var-parameters, resolves #25916
|
10 ani în urmă |
sergei
|
0b4d54fcb9
- Delete all position markers from assembler code before optimization. Markers of this kind are not used by optimizer and are expected to be ignored, but ignoring them requires numerous checks in all target-specific optimizers and currently isn't done correctly. In turn, failure to ignore markers prevents optimization of procedure prologues and epilogues.
|
11 ani în urmă |
Jonas Maebe
|
bacd303208
* synchronized with trunk up to r27758
|
11 ani în urmă |
Jonas Maebe
|
362ff5ad01
* only check for _PROPERTY as a regular token, so that
|
11 ani în urmă |
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.
|
11 ani în urmă |
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).
|
11 ani în urmă |
Jonas Maebe
|
d020a32b9a
- removed no longer used tprocdef.fpu_used field for i386/i8086 (the one
|
11 ani în urmă |
Jonas Maebe
|
b57c95043f
+ support overriding tdef/tsym methods with target-specific functionality:
|
11 ani în urmă |
florian
|
686a2d2f3f
+ Support omitting the frame pointer on arm even in procedures with incoming parameters
|
11 ani în urmă |
florian
|
04464b8622
* do not create an fpc_zeromem node if size=0
|
11 ani în urmă |
Jonas Maebe
|
f936a48afa
* don't change the forward/interface definition of regular forward/interface
|
11 ani în urmă |
Jonas Maebe
|
1ac4021178
* moved po_has_inlininginfo from procoptions to procimploptions so that
|
11 ani în urmă |
Jonas Maebe
|
e9268a0a14
* synchronised with trunk up till r26975
|
11 ani în urmă |
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 ani în urmă |
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 ani în urmă |
florian
|
b1f54b2853
* indentation fixed
|
11 ani în urmă |