pierre
|
c1e93bd2c2
+ compiler/symdef.pas: Add missing call to tderef.reset methods in all tdef constructors.
|
6 ani în urmă |
svenbarth
|
cb8f6f637c
* fix big endian targets by using an explicit assignment with typecast instead of an absolute variable
|
6 ani în urmă |
svenbarth
|
92cce05f5f
* as a workaround for some compiler bug introduced during 3.1.1 the freeing of the management operator offset entry lists is moved to a nested procedure as that does not trigger the bug (even with -O2 or -O3)
|
6 ani în urmă |
svenbarth
|
600ed6701e
+ keep track whether a structured type has fields with management operators (or fields that in turn have fields with management operators and so on) and store that in the PPU to speed up compilation again
|
7 ani în urmă |
svenbarth
|
072699d38a
* protect the destructors of tabstractrecordsymtable and twithsymtable against executing when called with a refcount > 1 (this fixes Mantis #34210)
|
7 ani în urmă |
svenbarth
|
21e7ddaac7
+ add method to retrieve a list of management operator/field offset pairs for a specific management operator inside a structured type (no matter how deeply nested they are)
|
7 ani în urmă |
florian
|
68eb921d46
* broken compilation after r39347 fixed
|
7 ani în urmă |
svenbarth
|
cc153176f3
+ add a new symtable option sto_has_non_trivial_init that is true if the symtable contains a symbol with an
|
7 ani în urmă |
svenbarth
|
80ed66f349
* move calculation of sto_needs_init_final to a separate method do_init_final_check()
|
7 ani în urmă |
Jonas Maebe
|
cb7730a423
* fixed execution order of implicit finalization and class destructors: first
|
7 ani în urmă |
svenbarth
|
b322339758
+ extend tstoredsymtable with method register_children to register all its symbols and defs
|
7 ani în urmă |
svenbarth
|
83e4585b0f
* correctly handle unit identifiers inside specializations of generic routines
|
8 ani în urmă |
svenbarth
|
236a9b0aa5
* rework the checks for a helper's extended def to be a class so that it can be more easily extended by other objecttypes
|
8 ani în urmă |
maciej-izak
|
751bde9792
Revert revision 36436 from trunk. Final fix for issue #31675.
|
8 ani în urmă |
maciej-izak
|
d3d29fa84c
Revert revisions 36133, 36128 from trunk.
|
8 ani în urmă |
maciej-izak
|
631d4a2d53
* Move global variable in_preproc_comp_expr into tscannerfile class.
|
8 ani în urmă |
maciej-izak
|
6d1ad52dc5
* for symbols used in preprocessor expressions, we don't want to increase references count (for smaller final binaries). Partial fix for problem presented in mantis 31675. Preprocessor functions like declared() in uses section will work only for symbols declared in implicytly included modules (for example like for heaptrc by option -gh, see example/test tw31675.pp)
|
8 ani în urmă |
florian
|
0897bd154a
+ align(<int64>,<int64>) and align(<qword>,<qword>), resolves an issue reported on the mailing list with large records
|
8 ani în urmă |
svenbarth
|
7dc4f16db3
* fix for Mantis #31431: allow specializations to allow private/protected variables that their generic could have accessed
|
8 ani în urmă |
maciej-izak
|
25db29d0a6
* symtable.pas:
|
8 ani în urmă |
maciej-izak
|
15ba9b54c6
Store informations about management operators in ppu files for records.
|
8 ani în urmă |
maciej-izak
|
48b149acd4
New tokens for new management operators: Initialize, Finalize, AddRef and Copy. Small code adjustment for parser (pdecobj.pas, pstatmnt.pas, psub.pas, ptype.pas) was required because few of old token has from now value which is outside range of set: _CONSTRUCTOR, _FINALIZATION.
|
8 ani în urmă |
svenbarth
|
969e19ba1a
* initialize module id of a symtable always to the id of the current module (at least if there is a current module, which is not the case for the initial macro symtable)
|
8 ani în urmă |
svenbarth
|
d9ea6aae4d
* fix for Mantis #30761: always return the symbol found in the helper instead of doing this dependant on the presence of the overload attribute; for this the collection of all suitable overloads is done in tcallcandidates instead.
|
8 ani în urmă |
svenbarth
|
d4e573c1e3
* fix for Mantis #27349: nested classes might also reside inside records
|
8 ani în urmă |
svenbarth
|
ce18b10c81
* fix for Mantis #30530: when the global/static symtable is reached defowner is Nil, so respect that in the loop condition
|
8 ani în urmă |
svenbarth
|
cb27889dea
* fix cycling by correctly handling the case that the global symtable of a program file is Nil
|
9 ani în urmă |
svenbarth
|
36e5d02e8e
* addsymref: do not directly check the top level symtable against the current module's global symtable as that would be false for a specialize symtable; check the module id instead
|
9 ani în urmă |
Jonas Maebe
|
c752050728
* don't print "parameter not used" hints for abstract methods (mantis #30431)
|
9 ani în urmă |
pierre
|
ef1369fef2
Reset static recorddef variables to nil in InitSymtable, avoid crashes in TextMode IDE
|
9 ani în urmă |