Rika Ichinose
bff561063f
Use TFPList.FreeAndNilDisposing in four more places.
2024-11-03 14:39:24 +00:00
Sven/Sarah Barth
e048266473
* fix #40259 : global managed records with Initialize operator need to be initialized no matter if they are referenced in the current unit or not.
...
+ added test
2024-10-18 17:51:49 +02:00
Sven/Sarah Barth
73420dcace
* ensure that Default() symbols that use management operators are properly initalized/finalized
...
+ added test
2024-10-11 18:00:01 +02:00
florian
5c94ccc4c2
* cosmetics
2024-09-21 22:53:27 +02:00
J. Gareth "Curious Kit" Moreton
adac1e6db2
"tnodeutils.has_init_list" is now static
2024-09-21 20:50:09 +00:00
J. Gareth "Curious Kit" Moreton
a4ff1d185e
* More efficient condition checks for "tnodeutils.has_init_list"
2024-09-21 20:50:09 +00:00
ccrause
fc76d9fac2
Omit FPC_INIT_FUNC_TABLE generation if no unit initialization is registered for current project.
2024-09-09 20:00:44 +00:00
Nikolay Nikolov
440a635bce
+ initial compiler support for WebAssembly resources. Requires WebAssembly
...
support in the fpcres utility, which is not implemented, yet.
2024-06-25 03:07:55 +03:00
florian
7b0578dc17
* cleanup tnodeutils.InsertThreadvars as suggested in #40538 , resolves #40538
2024-04-28 22:38:28 +02:00
Michaël Van Canneyt
325d29307f
* Indentation and casing changes
2024-03-05 07:56:14 +00:00
Michaël Van Canneyt
2ba04dbd13
* generate init_final table from actual uses clauses
2024-03-05 07:56:14 +00:00
Jonas Maebe
c96641f901
LLVM: fix double init/fini of local managed variables accessed from nested functions
...
resolves #40392
2023-09-14 15:38:21 +02:00
Sven/Sarah Barth
5135b586cb
* fix #39857 : don't trash symbols marked as vo_is_internal
...
+ added test
2022-08-26 17:42:22 +02:00
Jonas Maebe
3d6c53ee74
parentfpstruct: explicitly trash before initialising
...
It's an internal sym, but it contains user data. Together with the previous
commit resolves #39845
2022-07-26 22:36:13 +02:00
Jonas Maebe
5012e45d04
variable trashing: don't trash internal syms
...
Since they're managed by the code generator, they should always be valid.
2022-07-26 22:36:13 +02:00
Jonas Maebe
6a485065ba
__fpc_valgrind symbol: use correct size when inserting definition
2022-07-06 22:25:05 +02:00
Pierre Muller
0e142c00cc
Disable finalisation code fro LLVM compiler to avoid interface finalisation troubles
2022-06-01 00:19:46 +02:00
Sven/Sarah Barth
2cc621618a
* Delphi-mode calling without parenthesis
2022-05-26 21:43:00 +02:00
Jonas Maebe
229eb93e72
tnodeuitls: merge GenerateObjCImageInfo into InsertObjectInfo
...
LLVM needs to insert the Objective-C image info into the general object info
metadata. This way we don't need to store a reference to that metadata so
as to add extra data to it later (tnodeutils is never instantiated, it only
contains class methods)
2022-05-13 22:49:02 +02:00
Jonas Maebe
3d3c904ac5
TSymStr: more consistent usage
2022-05-08 15:03:44 +02:00
Pierre Muller
5acd7a7b83
Rename tsymtable.insert and delete methods to insertsym ands deletesym
2022-05-03 23:00:28 +02:00
florian
2a93e65511
* seperator => separator
2022-01-02 13:12:33 +01:00
Jonas Maebe
d0d07dc3bf
* naturally align threadvar lists/tables
...
o required for (future) Darwin arm64e target, and a good idea elsewhere too
(on constrained targets, it won't make a difference because the alignment
of pointers won't be > sizeof(longint))
git-svn-id: trunk@47115 -
2020-10-15 20:29:32 +00:00
florian
637976e83f
* patch by Marģers to unify internal error numbers, resolves #37888
...
git-svn-id: trunk@47103 -
2020-10-13 19:59:01 +00:00
florian
f8c1df0852
* ISO mode: handle typed files as text files regarding naming/program parameters, resolves #37415
...
git-svn-id: trunk@46865 -
2020-09-14 20:16:08 +00:00
Jonas Maebe
e7d1a77f9a
* rename the ARM/AArch64-Darwin targets to ARM/AArch64-iOS
...
* rename the m68k/PowerPC-MacOS targets to m68k/PowerPC-MacOSClassic
* repurpose the AArch64/Darwin target for AArch64/macOS
o make AArch64-Darwin default target for a hosted AArch64-Darwin compiler
git-svn-id: trunk@45758 -
2020-07-10 21:52:24 +00:00
svenbarth
921e73ab0c
+ add compiler support for the Z80 MSX-DOS target
...
git-svn-id: trunk@45596 -
2020-06-06 17:16:20 +00:00
nickysn
3f95fa50ef
* use const_align(sizeof(pint)) alignment instead of sizeof(pint) for various
...
compiler-generated structures, so they don't waste any extra alignment space
on 8-bit CPUs like the Z80 and the AVR
git-svn-id: trunk@45524 -
2020-05-28 21:08:02 +00:00
nickysn
78c40a6d70
* allow setting the stack size from FPC
...
git-svn-id: branches/z80@45104 -
2020-04-26 16:04:29 +00:00
nickysn
caecdfd51d
+ allow setting the heap size for the ZX Spectrum target
...
git-svn-id: branches/z80@45102 -
2020-04-26 14:58:47 +00:00
florian
391512546e
+ initial FreeRTOS RTL support, largely based on the Embedded target, limited to Xtensa so far
...
git-svn-id: trunk@44400 -
2020-03-29 17:13:45 +00:00
Jonas Maebe
e775ecdc43
* cleaned up safecall support: use a hidden localvarsym instead of result
...
register hacking
o this also allowed fixing/adding safecall support for LLVM
git-svn-id: trunk@43578 -
2019-11-24 20:23:22 +00:00
florian
3949be6989
* be able to set an AT_* for datablocks
...
* set AT_TLS if needed
git-svn-id: trunk@43076 -
2019-09-25 21:19:07 +00:00
Jonas Maebe
d8903ce6b3
- removed maxcrecordalign parameter/field from recordsymtables, as this value
...
cannot be modified in the settings (so we can directly use the one from
current_settings)
git-svn-id: trunk@42447 -
2019-07-14 19:24:32 +00:00
svenbarth
e296b26e9e
- remove unit info and related code again as that will be handled similar, but differently with dynamic packages
...
git-svn-id: trunk@42369 -
2019-07-12 22:05:47 +00:00
svenbarth
84848df18d
Reintegration of Custom Attributes branch by Joost van der Sluis with patches reworked by Svetozar Belic [patch 3/3]
...
Added FPC_REQUIRES_PROPER_ALIGNMENT to TUnitInfo definition. Added FPC_HAS_EXTENDED_RTTI define.
git-svn-id: trunk@42358 -
2019-07-12 22:04:56 +00:00
svenbarth
b2932393df
Reintegration of Custom Attributes branch by Joost van der Sluis with patches reworked by Svetozar Belic [patch 1/3]
...
Implemented attributes for class types and properties (based on work by Joost van der Sluis). Added TCustomAttribute - a base class for attributes. Added TUnitInfo record to RTTI. It contains the unit name and unit options (for now only a flag which specifies if the unit contains attributes). Added several tests for attributes.
git-svn-id: trunk@42356 -
2019-07-12 22:04:48 +00:00
Jonas Maebe
3fee990218
* on Mach-O, PECOFF and ELF platforms, write local symbols as hidden/
...
private_extern (or plain global in case of PECOFF, as the effect is
the same there): visible across object files, but they become local
when linked into a binary/library. This enables cross-unit inlining
of functions accessig implementation-only symbols.
git-svn-id: trunk@42340 -
2019-07-07 21:33:43 +00:00
Jonas Maebe
0cd0e1614b
* synchronised with trunk till r42105
...
git-svn-id: branches/debug_eh@42106 -
2019-05-19 19:24:25 +00:00
Jonas Maebe
aad87820e6
* abstracted registration of library init/fini routines (to be able to add
...
LLVM support)
git-svn-id: trunk@42104 -
2019-05-19 19:20:47 +00:00
Jonas Maebe
1b6425176b
* synchronised with trunk till r42049
...
git-svn-id: branches/debug_eh@42050 -
2019-05-12 18:44:05 +00:00
Jonas Maebe
281b3ad276
* fix case completeness and unreachable code warnings in compiler that would
...
be introduced by the next commit
git-svn-id: trunk@42046 -
2019-05-12 14:29:03 +00:00
Jonas Maebe
7dbbce157f
* fixed Objective-C metadata generation for LLVM
...
git-svn-id: branches/debug_eh@41980 -
2019-05-02 19:45:34 +00:00
Jonas Maebe
a7bd37d17a
* synchronised with trunk till r40776
...
git-svn-id: branches/debug_eh@41867 -
2019-04-13 15:16:09 +00:00
Jonas Maebe
0b61b5d4cf
* added extra header to ppu inside a subsection, so we won't run into
...
trouble when the ppu version hits 255
* also moved several ppu flags to a set inside that section
git-svn-id: trunk@41846 -
2019-04-06 21:28:43 +00:00
Jonas Maebe
c7d701d117
* synchronised with trunk till r40038
...
git-svn-id: branches/debug_eh@40643 -
2018-12-25 15:38:57 +00:00
Jonas Maebe
f754978540
* handle constructor function results that have been migrated to the
...
parentfpstruct the same as regular function results (see r32687)
git-svn-id: trunk@40641 -
2018-12-25 15:36:24 +00:00
Jonas Maebe
68ce5dc91f
* register static symbols references from assembly code as "used" so that LLVM won't
...
remove them if there are no references from regular code
git-svn-id: branches/debug_eh@40432 -
2018-12-01 20:30:27 +00:00
Jonas Maebe
63847f1948
* disable explicitly calling class constructors on the JVM platform, as that
...
is forbidden there
git-svn-id: trunk@40386 -
2018-11-28 19:23:34 +00:00
Jonas Maebe
cb7730a423
* fixed execution order of implicit finalization and class destructors: first
...
the latter, then the former
git-svn-id: trunk@38716 -
2018-04-08 15:41:00 +00:00