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
pierre
34c0898d97
Fix m68k-amiga linking failure for native compiler, due conflict between odd length string and .balignw directive
...
git-svn-id: trunk@38351 -
2018-02-26 13:06:37 +00:00
Jonas Maebe
c0b0fa9c0b
* change the type of the -gt uninitialised result of ansistring functions to
...
rawbytestring so the compiler does not try to convert it to the declared
string type of the function result, as this may not be available
(mantis #32510 )
git-svn-id: trunk@37889 -
2018-01-01 18:04:13 +00:00
svenbarth
a301bf75ea
* ngenutil.tnodeutils.sym_maybe_initialize: don't use "is" operator, but corresponding is_* functions
...
git-svn-id: trunk@36617 -
2017-06-29 18:51:35 +00:00
Károly Balogh
dd01b7ca8b
fix a typo to hopefully fix the build
...
git-svn-id: trunk@36312 -
2017-05-23 21:13:00 +00:00
svenbarth
7c9aeda656
* rework InsertInitFinalTable a bit more so that the list of init/fini entries does not need to be generated twice for AVR
...
git-svn-id: trunk@36310 -
2017-05-23 19:58:39 +00:00
svenbarth
d311881b34
* extract calculation of unit init/fini entries into separate method get_init_final_list() so that it can be used by the AVR code as well
...
git-svn-id: trunk@36257 -
2017-05-19 16:12:22 +00:00
nickysn
efc5e339d0
* use an enum instead of integer constants to represent inline numbers
...
* compinnr.inc include file converted to a unit
* inline number field size stored in ppu increased from byte to longint
* inlines in the parse tree (when written with the -vp option) now printed with
their enum name, instead of number
git-svn-id: trunk@36174 -
2017-05-10 14:41:43 +00:00
florian
b1dff29cbf
* removed unused units
...
git-svn-id: trunk@36165 -
2017-05-09 19:53:14 +00:00
Jonas Maebe
cadf177a93
* fixed bugs in r33737: that revision was supposed to only move
...
code from one unit to another, but in splitting some methods
I made a couple of mistakes :/ (causing global variables to be
initialised three times)
git-svn-id: trunk@35461 -
2017-02-20 22:15:34 +00:00
maciej-izak
9441fb3968
* ngenutil.pas, tnodeutils.sym_maybe_initialize: Ensure that management operator (Initialize) is used also for local variables.
...
git-svn-id: trunk@35443 -
2017-02-18 19:19:46 +00:00
svenbarth
1a6a8b7c9f
+ introduce a new potype for the main stub of a package library (which on Windows is simply a DLLMain returning True)
...
git-svn-id: trunk@35371 -
2017-01-29 22:37:40 +00:00
florian
29a2c433f7
* -Sr option for iso mode: in case no command line parameter is passed, the file name for program parameters is derived from their variable name
...
git-svn-id: trunk@35257 -
2017-01-07 14:50:58 +00:00