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
Jonas Maebe
472b5228fe
* changed ncgutil.has_alias_name(pd,s) to a method of tprocdef
...
git-svn-id: trunk@35085 -
2016-12-09 13:39:28 +00:00
nickysn
d28963f434
* emit the heap and stack sizes via Tai_const.Create_int_dataptr, instead of
...
using create_pint
git-svn-id: trunk@34646 -
2016-10-07 20:58:50 +00:00
nickysn
bacea005fc
* emit a sizeint, not a ptruint for TableCount in tnodeutils.InsertRuntimeInitsTablesTable as well
...
git-svn-id: trunk@34643 -
2016-10-07 17:21:52 +00:00
nickysn
16dfb839d8
* emit a sizeint, not a ptruint for TableCount in tnodeutils.InsertResourceTablesTable
...
git-svn-id: trunk@34638 -
2016-10-07 13:49:48 +00:00
nickysn
f6356e03e4
* use aluuinttype, instead of sinttype, when emitting TableCount and InitCount
...
for the InitFinalTable, because they are declared as ALUUInt in the RTL and
sinttype doesn't always correspond to the ALU size (it differs on platforms
with the combination of a 64-bit ALU and 32-bit address space)
git-svn-id: trunk@34629 -
2016-10-04 22:57:06 +00:00
Jonas Maebe
473cec9d85
* converted tnodeutils.InsertRuntimeInits() to the high level typed const
...
builder
git-svn-id: trunk@34443 -
2016-09-07 16:09:06 +00:00
yury
e3d9dbbeef
* Removed unused vars.
...
git-svn-id: trunk@34404 -
2016-09-01 19:55:45 +00:00
Jonas Maebe
18d728eb72
* ensure that local variables and parameters moved to a parentfpstruct aren't
...
initialised and finalised twice (once at their original location, and once
when the parentfpstruct is initialised/finalised)
git-svn-id: trunk@34374 -
2016-08-24 16:41:07 +00:00
Jonas Maebe
a31ca58593
* factored out the loading the function result from the parentfpstruct into
...
its original location so it can be reused elsewhere too
git-svn-id: trunk@34304 -
2016-08-13 14:47:47 +00:00
svenbarth
6b7f55cc77
* import the class con-/destructor symbol into the *current* unit not into the unit the symbol comes from
...
git-svn-id: trunk@34251 -
2016-08-05 13:48:27 +00:00