svenbarth
|
e6ad8a0dfa
Merged revision(s) 44172, 44188, 45457 - 45458, 45645, 46218, 46953 from trunk:
|
преди 4 години |
svenbarth
|
cbe9654b04
Merged revision(s) 44072-44074 from trunk:
|
преди 5 години |
pierre
|
7062177e1b
Merge of commit r44056
|
преди 5 години |
marco
|
fdb477df1e
# revisions: 43566,43567,43568,43586,43629,43823
|
преди 5 години |
marco
|
d24f4b0926
--- Merging r42998 into '.':
|
преди 5 години |
Jonas Maebe
|
3ac703506c
* rest of the previous accidental partial commit
|
преди 6 години |
svenbarth
|
598ac21791
* if the generic dummy symbol is a procsym (with procdefs added) then this is the symbol that should be resolved to
|
преди 7 години |
svenbarth
|
06d7e26df0
* move code to add a symbol to the current module's generic dummy symbols into a new function pgenutil.add_generic_dummysym()
|
преди 8 години |
florian
|
b1dff29cbf
* removed unused units
|
преди 8 години |
svenbarth
|
8024fcd7ec
* if an operator overload in a structured type is invalid print an error only for the declaration and not the implementation as well
|
преди 8 години |
maciej-izak
|
e4565378db
* Allow for "record constraint" in Delphi mode more types like: ordinal, float, classical objects, enumerations (instead of just record). Delphi compatibility. Fix for mantis #24073.
|
преди 8 години |
svenbarth
|
d34acf3bc7
* fix for Mantis #31120: check current_genericdef only if the current_procinfo isn't used
|
преди 8 години |
svenbarth
|
6ba85c2a70
* second fix for Mantis #30626: also search in parent classes for a suitable pre-existing specialization
|
преди 8 години |
svenbarth
|
0a1e080089
* only create a new procsym for a specialization if it's indeed needed
|
преди 8 години |
svenbarth
|
a535d54bcb
* fix for Mantis #30939: Rework generation of the generic name to be less relying on the type hierarchy as a specialization inside the parameter declaration would want to have the full name of the procdef including its parameters, but those are still parsed at that stage (the pretty name is still a topic onto itself however...)
|
преди 8 години |
svenbarth
|
ee466b9a28
* extend tdef.fullownerhierarchyname() with a parameter that skips the inclusion of a procdef's parameter declaration using the new pno_noparams option
|
преди 8 години |
svenbarth
|
63b0024e4c
* fix for Mantis #30626: unset current_procinfo so that further specializations don't use a symtable to specialize themselves in that they shouldn't use (cause current_procinfo takes precedence)
|
преди 8 години |
svenbarth
|
fd7daf91df
+ new overload for generate_specialization_phase1() which allows to pass a specific symbol name without the need to specify a file position
|
преди 9 години |
svenbarth
|
627e30f47f
* factor() might return a typenode with a errordef, so check for that and don't add the typesymbol to the parameter list in that case; fixes the access violation of tw17181.pp
|
преди 9 години |
svenbarth
|
80c2e3b51a
* special detection of an ongoing specialization for the case that a function that belongs to a generic and has said generic as parameter or result is in turn specialized as a parameter or result of another generic function
|
преди 9 години |
svenbarth
|
6a14bb5014
* check the owner of current_specializedef as that is Nil if a generic routine is specialized and this is the specialization of one of its parameters or its result type
|
преди 9 години |
pierre
|
22a7ce8972
Fix memory leak due to double srsym allocation
|
преди 9 години |
Jonas Maebe
|
95f28e5e0c
* avoid a crash when processing synthetic methods of specialised classes:
|
преди 9 години |
svenbarth
|
6c3dd6b601
Another system, another regression... (this time tests/test/tgenfunc15.pp on i386-win32)
|
преди 9 години |
svenbarth
|
fd98ec56e9
Fix (hopefully last) regression introduced due to the reworking specialization of routine bodies.
|
преди 9 години |
florian
|
04a68d9b94
* fix compilation with -Oodfa
|
преди 9 години |
svenbarth
|
1bd43d9e37
Fix regressions.
|
преди 9 години |
svenbarth
|
1d7c19aaf0
Fix regressions.
|
преди 9 години |
svenbarth
|
f27ce0b159
Rework the way the method bodies for specializations are generated: instead of walking the global and local symboltable all pending specializations are kept in a list of the current module which is (for now) walked at the end of a unit/program to generate the method bodies as before.
|
преди 9 години |
svenbarth
|
2f6a1c01ba
pgenutil.pas, generate_specialization_phase2:
|
преди 9 години |