Michaël Van Canneyt
d3a0a2dddf
* Call free instead of destroy
2025-03-21 14:25:19 +01:00
Michaël Van Canneyt
8c5a48da2b
* Make compilerwidestring a class using dyn array, rework tstringconstnode: value_str -> valueas, valuews
2025-03-20 17:01:31 +01:00
Sven/Sarah Barth
50b160651c
* fix #38122 in a more correct way than previously done: instead of adjusting the methodpointer node when it's a deref node adjust what value is stored in a temp if a call node is encountered: store the pointer value, not the pointed to value to avoid the reference getting lost
...
+ added test (note: the test fails at least on x86_64-win64 due to some different reason :/ )
2025-01-04 10:31:26 +01:00
Sven/Sarah Barth
b0675058f5
+ add utility function to retrieve a signed integer def for a given integer def
2024-12-12 22:05:14 +01:00
Rika Ichinose
11d16be702
Add a bound parameter to node_count(_weighted).
2024-11-30 20:04:34 +00:00
Rika Ichinose
510a281c3f
Use a set instead of boolean arguments to TCallCandidates.
2024-10-27 16:45:35 +00:00
Rika Ichinose
326776c7fa
Turn TCallCandidates into an object, make it create FIgnoredCandidateProcs on demand, and outline such adding on demand into dedicated TFPList.AddOnDemand.
2024-10-27 16:45:35 +00:00
florian
4ef30edbd4
* set ra_addr_taken for addr. param only if really needed
2024-10-23 23:04:43 +02:00
florian
00ae194e0a
+ add printing of all fields of tcallnode in TCallNode.XMLPrintNodeData as well
2024-10-20 11:23:11 +02:00
florian
431d4395ea
+ print all sub nodes of call nodes
2024-10-19 23:41:46 +02:00
florian
b2892adebf
* do not set the addr taken flag for nodes to passed to const/var/out parameters, if
...
the code of the callee is known and within the callee no address of the parameters
is taken
2024-10-19 15:15:51 +02:00
Sven/Sarah Barth
04b0dfc812
* fix typo in comment
2024-10-18 17:51:49 +02:00
Alligator-1
9caabdc4e7
Immediately set the capacity
2024-07-08 20:17:11 +00:00
florian
fc6d6c123d
* more debug statments removed
2024-04-25 22:50:38 +02:00
florian
ab66440e76
* accidently committed debug statement removed
2024-04-25 22:47:17 +02:00
florian
51f5726343
* (hopefully) more consistent message when the compiler is stopped during showing the help screen, resolves #39455
2024-04-25 22:12:31 +02:00
J. Gareth "Curious Kit" Moreton
2b7df4237b
* nf_pass1_done, nf_error, nf_processing and nf_do_not_execute
...
have been moved to a new "transientflags" node field that
isn't stored in PPU files
2024-03-24 18:14:49 +00:00
J. Gareth "Curious Kit" Moreton
179fc5848b
* Flags specific to TArrayConstructorNode have been moved to their own field
2024-03-02 21:31:21 +01:00
J. Gareth "Curious Kit" Moreton
ecc16278f0
* Flags specific to TAssignmentNode have been moved to their own field
2024-03-02 21:31:21 +01:00
Michaël Van Canneyt
fe62b3ace8
* Introduce constwresourcestring - in unicode mode, resource strings are unicode strings, and must be streamed differently
2024-02-13 19:44:36 +01:00
florian
5f42443db3
* several issues with the in_val_x optimization fixed
2024-01-14 18:58:08 +01:00
J. Gareth "Curious Kit" Moreton
01246e4d30
* Fixed issue where Val shortcutting would not compile under 32-bit systems
2024-01-14 03:43:39 +00:00
J. Gareth "Curious Kit" Moreton
6597f02ebc
* The "Val" intrinsic is now simplified for string constants akin to a
...
pure function.
2024-01-13 22:24:08 +00:00
Sven/Sarah Barth
ab5c5a7e9a
* also keep track of captured def (necessary when functions are captured)
2023-12-29 20:26:45 +01:00
J. Gareth "Curious Kit" Moreton
83f383e004
* Fixed bug where the original index of a call
...
para wasn't copied over during "DoGetCopy"
2023-12-28 20:48:43 +00:00
J. Gareth "Curious Kit" Moreton
d25d094d57
* Fixed bug where a call node's intrinsic code
...
wasn't copied over during "DoGetCopy"
2023-12-28 20:48:43 +00:00
florian
3539b4a6f3
* do str(...) optimization only in level 3+ mode
2023-12-17 18:32:40 +01:00
J. Gareth "Curious Kit" Moreton
81b22cc5d1
* TCallNode.simplify method introduced to convert Str with a constant into a direct string assignment
2023-12-17 15:15:36 +00:00
J. Gareth "Curious Kit" Moreton
28e7dd77de
* A call node's original parameter ordering can now be remembered, and a method introduced to access this
2023-12-17 15:15:36 +00:00
J. Gareth "Curious Kit" Moreton
ea7b9c73f3
* New intrinsiccode field for TCallNode to track transmutation from TInlineNode
2023-12-17 15:15:36 +00:00
Sven/Sarah Barth
78025d90b3
+ add a tcallnodeflag value that prohibits the tcallnode.pass_typecheck to return a procvar in case of a call without parameters with a found symbol, but no suitable procdef
2023-06-30 17:11:43 +02:00
Sven/Sarah Barth
3dc64dd67e
* fix typo in comment
2023-06-30 17:02:37 +02:00
Sven/Sarah Barth
d97d34ee9c
* fix #40332 : apply patch by Rika to avoid a crash when an overload can't be picked outside of a function (e.g. when using intrinsics inside constants)
...
+ added test
2023-06-30 15:35:28 +02:00
florian
8f3cce556d
* some error messages use nicer symbol names
2023-04-01 22:34:37 +02:00
Jonas Maebe
12bde4e903
WPO: fix dead code detection, and handle procvars
...
Extend dead code detection to not only look for the main mangled name, but also
for any aliases before deciding that a routine has been dead-stripped.
Assume objects/classes can also be constructed if the address of one of their
constructors or of the TObject.NewInstance class method has been taken.
Resolves #40204
2023-03-24 21:22:18 +01:00
Jonas Maebe
0e46041717
WPO: also consider NewInstance to detect class instancing
...
Resolves #40200
2023-03-18 21:18:25 +01:00
Pierre Muller
dce70b3b70
Short version of the mips code genration bug
2022-10-29 21:34:00 +01:00
Jonas Maebe
df3a0af7e0
objc: use compile-time macOS version checks
...
Use "modern" APIs for calling inherited messages when targeting Mac OS X 10.6
or later
2022-09-16 11:21:05 +02:00
Sven/Sarah Barth
cdf676c9b5
* a function also captures other nested functions when these are called
2022-05-26 21:43:36 +02:00
Sven/Sarah Barth
2cc621618a
* Delphi-mode calling without parenthesis
2022-05-26 21:43:00 +02:00
Pierre Muller
5acd7a7b83
Rename tsymtable.insert and delete methods to insertsym ands deletesym
2022-05-03 23:00:28 +02:00
Sven/Sarah Barth
74f9523806
* in case of an implicit specialization ensure that the symbol of the generic is indeed considered as used once the final implicit specialization has been picked
...
+ added test
2022-04-23 16:29:13 +02:00
Sven/Sarah Barth
e0e8620ded
* use a single if-condition for both check_hints and addsymref
2022-04-23 16:29:13 +02:00
Sven/Sarah Barth
90844c2027
* fix #35261 : apply slightly adjusted changes by Ryan Joseph to implement support for implicit generic function specializations
...
The main adjustments were as follows:
- fixing coding style and identation
- fixing some typos
- using a better name for the property in tcallcandidates which holds the symbols created for anonymous parameter values
2022-04-20 18:59:31 +02:00
florian
d198fc46cb
* just copy value parameters to a temp. when inlining instead of
...
using (@...)^ constructs, resolves #39590
2022-02-19 23:49:27 +01:00
florian
f56aa9abe7
* set expectloc properly for x87 on x86
2021-09-24 22:27:44 +02:00
svenbarth
7330a0156c
* fix writing of the method and parameter names for the Variant call description
...
git-svn-id: trunk@49479 -
2021-06-05 17:43:49 +00:00
pierre
c8c6e647be
Avoid keeping optimized out node in callcleanupblock.statements or callinitblock.statements
...
git-svn-id: trunk@49094 -
2021-03-31 20:53:08 +00:00
nickysn
7ac2f9e242
* synchronized with trunk
...
git-svn-id: branches/wasm@48660 -
2021-02-13 02:46:23 +00:00
yury
afc80a84cf
* Fixed r48650.
...
git-svn-id: trunk@48657 -
2021-02-12 11:26:37 +00:00