florian
|
4103b3d180
* formatting
|
1 an în urmă |
J. Gareth "Curious Kit" Moreton
|
179fc5848b
* Flags specific to TArrayConstructorNode have been moved to their own field
|
1 an în urmă |
J. Gareth "Curious Kit" Moreton
|
ecc16278f0
* Flags specific to TAssignmentNode have been moved to their own field
|
1 an în urmă |
florian
|
3cf7890352
* don't throw an internalerror in case of an illegal assignment to an open array, resolves #40662
|
1 an în urmă |
Michaël Van Canneyt
|
fe62b3ace8
* Introduce constwresourcestring - in unicode mode, resource strings are unicode strings, and must be streamed differently
|
1 an în urmă |
Sven/Sarah Barth
|
981ec64666
* fix #40594: when assigning a nested function to a function reference don't check for the nested procvars parameter, because nested functions can be treated like anonymous functions here
|
1 an în urmă |
Sven/Sarah Barth
|
feb79e0068
- the setter for tloadnode.procdef is not used, so remove it so that that tloadnode.setprocdef can be extended
|
1 an în urmă |
Sven/Sarah Barth
|
ab5c5a7e9a
* also keep track of captured def (necessary when functions are captured)
|
1 an în urmă |
Jonas Maebe
|
12bde4e903
WPO: fix dead code detection, and handle procvars
|
2 ani în urmă |
Sven/Sarah Barth
|
3c2703787c
* ensure that newly created tloadparentfpnodes have a valid resultdef as they might be created in situation where the loadnode itself is no longer typechecked
|
2 ani în urmă |
Sven/Sarah Barth
|
2be8f01efe
* implement assignment of anonymous functions to procedure or method variables if they either capture nothing or (in case of method variables) at most the Self variable
|
4 ani în urmă |
Sven/Sarah Barth
|
5129c2cb9a
* consider Self parameters of nested functions as captured as well
|
4 ani în urmă |
Sven/Sarah Barth
|
d56a90e5ed
* keep track of symbols that are accessed from a nested/anonymous function that belong to a surrounding scope
|
4 ani în urmă |
Sven/Sarah Barth
|
2cc621618a
* Delphi-mode calling without parenthesis
|
4 ani în urmă |
Sven/Sarah Barth
|
90844c2027
* fix #35261: apply slightly adjusted changes by Ryan Joseph to implement support for implicit generic function specializations
|
3 ani în urmă |
Yuriy Sydorov
|
07698050e5
* Before r35961 (back in 2017) some simple assignment optimizations, such as "x:=x+y" to "inc(x,y)", were performed when -O2 in tassignmentnode.simplify. In r35961 these optimizations were moved to a separate pass which is enabled only when -O3 by cs_opt_use_load_modify_store. This separate pass can benefit from other optimization. But worse code is generated with -O2 since then.
|
4 ani în urmă |
svenbarth
|
067b9b2922
* copy and compare the typesym inside type nodes as well
|
4 ani în urmă |
Jonas Maebe
|
8ba4c4bcf0
* factored out the creation of loadnodes for special variables/parameters
|
4 ani în urmă |
florian
|
b36597c76a
* better calculation of estimated stack frame size
|
5 ani în urmă |
yury
|
7bffafdf8b
* Improved the parentfp optimization to properly handle cases when a nested routine calls other nested routines.
|
5 ani în urmă |
yury
|
c15b6f4516
* Fixed the parentfp optimization for some cases when nested procvars are used.
|
5 ani în urmă |
yury
|
2808873d1b
* Reworked the optimization of unused $parentfp for nested routines.
|
5 ani în urmă |
florian
|
fc98a0db4f
* cosmetics
|
5 ani în urmă |
florian
|
fa4cbc89a5
+ Xtensa: hard float support, i.e. make use of floating point extension if available
|
5 ani în urmă |
florian
|
f6c16323fa
* unified loadnf_load_self_pointer into loadnf_load_addr
|
5 ani în urmă |
Jonas Maebe
|
ac1e0f96bd
* replaced tentryfile.get/putsmall/normalset() with a common tget/putset
|
5 ani în urmă |
Jonas Maebe
|
ef6dde6de3
* fixed loading the address of a copied labelnode in a loadnode
|
5 ani în urmă |
pierre
|
243c967967
Commit of new debug feature implemented by J. Gareth Moreton
|
6 ani în urmă |
yury
|
e5c2d13671
* Do not set pi_needs_got in current_procinfo.flags at the node level, since the GOT usage can only be estimated there. Instead set the pi_needs_got flag at places where the GOT register is accessed during the code generation. This eliminates generation of the unneeded initialization of the GOT register and fixes linker errors when the _GLOBAL_OFFSET_TABLE_ symbol is referenced but no actual GOT references are present.
|
6 ani în urmă |
Jonas Maebe
|
51e68eb302
* fixed several places where the interface crc could change:
|
6 ani în urmă |