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 anos atrás |
Jonas Maebe
|
bc77aad3d9
* give an error when trying to call through to a C varargs routine with a
|
6 anos atrás |
Jonas Maebe
|
503ea604f3
+ nolinline modifier to specify that a routine must never be inlined
|
6 anos atrás |
Jonas Maebe
|
51e68eb302
* fixed several places where the interface crc could change:
|
6 anos atrás |
Jonas Maebe
|
91d5457b38
* moved around/replaced the following procedures to stop nflw from depending
|
6 anos atrás |
Jonas Maebe
|
3a5a69619e
* moved initialisation of parentfpstruct to just behind where the local vars
|
6 anos atrás |
Jonas Maebe
|
b96a8aee61
* don't generate tempsfinalize nodes in except filter procdefs, as that would
|
6 anos atrás |
Jonas Maebe
|
3b9f5a5e96
* moved finalization of code generator temps to a node, so it can be getcopy'd
|
6 anos atrás |
florian
|
a40335de34
* non-linux arm targets fixed
|
6 anos atrás |
florian
|
c37c485eb7
+ check if initialization/finalization code uses implicitly thread vars
|
6 anos atrás |
florian
|
9f16c34329
+ initial work for tls-based threadvar support on arm-linux
|
6 anos atrás |
yury
|
5c5dc2ed50
* Changed verbosity of ""???" not yet supported inside inline procedure/function" to note to be consistent with note "Call to subroutine "?" marked as inline is not inlined".
|
6 anos atrás |
yury
|
dd60397165
+ Added the pio_inline_not_possible flag to timplprocoption. It is set if a function can't be inline (contains an assembler block, etc). When calling such functions, no note "Call to subroutine "?" marked as inline is not inlined" is emitted.
|
6 anos atrás |
yury
|
b115886930
* po_inline can't be removed from procoptions when the interface part is already parsed. It changes the interface's CRC and causes other units to recompile.
|
6 anos atrás |
yury
|
95d18cd052
* If a function can't be inline (contains an assembler block, etc) remove the po_inline flag from its procoptions.
|
6 anos atrás |
yury
|
4357caaad8
* Removed unused local vars.
|
6 anos atrás |
Jonas Maebe
|
0cd85d73e4
* ttryfinallynode now inherits from tbinarynode instead of tloopnode, as its
|
6 anos atrás |
florian
|
a34d4e715c
Merged riscv_new branch
|
6 anos atrás |
svenbarth
|
10886d8cef
* fix for Mantis #34206: when specializing nested routines of a generic routine we don't need access to their genericdef (which isn't available anyway in other units when loading from PPU) as their definition is completely contained in the token stream
|
7 anos atrás |
Jeppe Johansen
|
76dda5813e
Updated dynlinker filename.
|
7 anos atrás |
Jeppe Johansen
|
ceb38833f2
Added RiscV32/64 target, from a cleaned up version of branches/laksen/riscv/trunk.
|
7 anos atrás |
nickysn
|
966564aade
- removed 'if assigned(code)' before calling code.free in tcgprocinfo.destroy,
|
7 anos atrás |
svenbarth
|
5510b13975
* ensure that sto_has_generic is set when a generic routine has been parsed
|
7 anos atrás |
florian
|
f08d3fdf8f
* moved execution weight calculation into a separate pass, so the info is available already available before the code generation pass if needed
|
7 anos atrás |
florian
|
1497b64804
* the temp. locations created by cse were not properly cleanup up, this patch fixes this
|
7 anos atrás |
svenbarth
|
dffe423b10
* fix for Mantis #31945: two fixes for nested routines inside generic methods
|
8 anos atrás |
florian
|
b1dff29cbf
* removed unused units
|
8 anos atrás |
nickysn
|
012153201a
* moved the conversion of "x:=x op k" to inline nodes to a separate optimization
|
8 anos atrás |
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 anos atrás |
Jonas Maebe
|
7013a879c3
- disabled check for existence for texceptaddr/tguid/tjmpbuf in the system
|
8 anos atrás |