svenbarth
|
2b59000d56
+ implement compiler support for SEH on Win64
|
5 ani în urmă |
svenbarth
|
fed17122f8
* as a variant for SEH exception filters we allow them to be *duplicated* instead of being extracted; this can be done unconditionally as for extracted ones their code is set to Nil after they're done and thus won't be picked up by generate_code_exceptionfilters
|
5 ani în urmă |
svenbarth
|
12ef066897
+ add functionality to store a node tree's required temp nodes and their flag upon entering the tree
|
5 ani în urmă |
svenbarth
|
068f0d2ec8
* fix for Mantis #36935: apply patch by J. Gareth Moreton to fix a typo in cs_opt_remove_empty_proc
|
5 ani în urmă |
florian
|
aca9727418
+ OptimizeForLoop: convert for-loops into zero-based backward for-loops if possible, for most architectures, this results in simpler code
|
5 ani în urmă |
svenbarth
|
147559349b
* fix for Mantis #36652: gracefully handle the error if one tries to implement a method of a type from another unit
|
5 ani în urmă |
Jonas Maebe
|
254b85c352
+ new pio_inline_forbidden flag to indicate that while parsing the
|
5 ani în urmă |
Jonas Maebe
|
b625afe800
* never inline routines that call get_frame (otherwise get_frame would return
|
5 ani în urmă |
florian
|
931d4dcfee
* ensure the rtl and the packages for embedded compile with features exceptions and classes disabled
|
5 ani în urmă |
florian
|
2f2b378c03
* moved conversion of for into while loops in a separate pass, so node optimizations on the node tree can be
|
5 ani în urmă |
florian
|
6f87a572af
* factored out tcgprocinfo.OptimizeNodeTree
|
5 ani în urmă |
svenbarth
|
0a915e883e
* keep track of static symbols that a global function references, as those must now be exported from a dynamic package as well if the function can potentially be inlined
|
5 ani în urmă |
svenbarth
|
f13200d68b
* restore localswitch settings after the initialization and finalization code was generated
|
5 ani în urmă |
florian
|
af8783e8d2
* i386: with a fixed stack, exception handling does not need a frame pointer
|
5 ani în urmă |
florian
|
7ee889d4ec
* it must be decided in allocate_tls_register if a tls register is allocated
|
5 ani în urmă |
florian
|
c3f4ad39a3
* it must be decided in g_maybe_tls_init if a tls is loaded
|
5 ani în urmă |
florian
|
11319353fd
* loading a got depends only on the fact if a got is needed and not if pic shall be generated
|
5 ani în urmă |
Jonas Maebe
|
9678542ba6
+ add "thunk" attribute for stubs/thunks and emit it for LLVM
|
6 ani în urmă |
Jonas Maebe
|
a051b8d225
- remmoved doregister parameter from t*sym constructors, as the registration
|
6 ani în urmă |
Károly Balogh
|
4d6b8a6c45
fixed the messy state of messages after recent custom attributes merge. fixed a typo, fixed double definition of message 3350, restored a message that was removed but still used, so the build passes at least.
|
6 ani în urmă |
svenbarth
|
3a02393584
- remove functionality to get the code block when parsing again (let's open this pandora's box only when really needed...)
|
6 ani în urmă |
svenbarth
|
b2932393df
Reintegration of Custom Attributes branch by Joost van der Sluis with patches reworked by Svetozar Belic [patch 1/3]
|
6 ani în urmă |
Jonas Maebe
|
e56b58c2b0
* factored out checks whether a procdef's symbol needs to be global, and
|
6 ani în urmă |
Jonas Maebe
|
3fee990218
* on Mach-O, PECOFF and ELF platforms, write local symbols as hidden/
|
6 ani în urmă |
pierre
|
67cf63049d
Commit patch submitted in bug report #35787 by Gareth Moreton
|
6 ani în urmă |
pierre
|
243c967967
Commit of new debug feature implemented by J. Gareth Moreton
|
6 ani în urmă |
Jonas Maebe
|
1b6425176b
* synchronised with trunk till r42049
|
6 ani în urmă |
Jonas Maebe
|
281b3ad276
* fix case completeness and unreachable code warnings in compiler that would
|
6 ani în urmă |
Jonas Maebe
|
50c82b6468
* synchronised with trunk till r41537
|
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ă |