Commit Graph

711 Commits

Author SHA1 Message Date
Michaël Van Canneyt
564597a573 * Fix access violation: module can be reset while loading dependent units. Fixes issue #40705 2024-03-26 16:06:27 +01:00
Pierre Muller
f88622a799 Be sure not to consume semicolon after _USES twice 2024-03-11 11:07:02 +00:00
Michaël Van Canneyt
4c434ceb08 * Only consume semicolon after uses clause when units have been connected. Fixes remaining failing tests 2024-03-08 11:31:49 +01:00
Michaël Van Canneyt
22de07446d * Fix tgeneric91, need to postpone some additional generic procedures 2024-03-07 16:12:24 +01:00
Pierre Muller
821f3e326f Fix compilation with -dDEBUG_DEVIRT 2024-03-06 14:40:22 +00:00
Pierre Muller
cc552c0815 Fix compilation with -dEXTDEBUG 2024-03-06 14:34:53 +00:00
Michaël Van Canneyt
91946b78d5 * Fix xtensa compilation 2024-03-05 07:56:14 +00:00
Michaël Van Canneyt
6ac14de986 * Properly handle finish state 2024-03-05 07:56:14 +00:00
Michaël Van Canneyt
c96ef4902b * Handle finish state separately 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
Michaël Van Canneyt
0bf0f26dd5 * Introduce m_processed 2024-03-05 07:56:14 +00:00
Michaël Van Canneyt
5298e25c84 * Introduce task (Single main-level task at the moment, no change in behaviour). 2024-03-05 07:56:14 +00:00
Michaël Van Canneyt
8aa9ac99a6 * Remove loaded_from in tmodule. The same unit can be loaded from different places 2024-03-05 07:56:14 +00:00
Michaël Van Canneyt
1351746a46 * Make tglobalstat a class 2024-03-05 07:56:14 +00:00
Michaël Van Canneyt
7cd044eae7 save/restore state when loading other modules. 2024-03-05 07:56:14 +00:00
Michaël Van Canneyt
5b27fa9375 * Remove commented variables 2024-03-05 07:56:14 +00:00
Michaël Van Canneyt
83b5047931 * Move program/library header parsing to separate routines 2024-03-05 07:56:14 +00:00
Michaël Van Canneyt
b45aee980f * Split parsing from post-processing, code generation and linking 2024-03-05 07:56:14 +00:00
Michaël Van Canneyt
122251f71d * Move interface parsing part to separate routine so we can split tasks later 2024-03-05 07:56:14 +00:00
Michaël Van Canneyt
560d597c85 * Move implementation part to separate routine so we can split tasks later 2024-03-05 07:56:14 +00:00
Michaël Van Canneyt
97f159e4b2 * Refactory: remove current_module use from top-level parsing 2024-03-05 07:56:14 +00:00
Michaël Van Canneyt
fb821b8c9b * Allow use of attributes on fields and properties in records and classes 2024-02-25 19:57:39 +01:00
florian
af482fde23 * generate specializations only of no error happened so far to prevent further (internal)errors, resolves #40646 2024-02-18 23:08:21 +01:00
Ryan Joseph
d74d41c5d2 * Allow RTTI directive also before uses clauses 2024-01-02 07:09:22 +01:00
Michaël Van Canneyt
9e228ff355 * Allow System.Variants (Delphi-compatible name) to be found when inserting variants unit 2023-07-27 18:40:34 +02:00
Michael VAN CANNEYT
64feb6a5cd * $NAMESPACES directive 2023-07-26 09:45:53 +02:00
Michaël Van Canneyt
9cfe6e97a0 * add uachar loading for unicode rtl 2023-07-22 08:26:22 +00:00
Michaël Van Canneyt
92f148e667 * Generate hidden class to be used for TVirtualInterface (wasm only) 2023-07-11 08:36:57 +00:00
Jonas Maebe
403292a131 LLVM backend: address sanitizer support
Activate with -Clfsanitize=address. Only tested on Darwin/x86-64 for now.
2022-07-06 22:26:13 +02:00
Sven/Sarah Barth
c3f27a2f1c * don't load the controller unit if the currently compiled unit *is* the controller unit (which might happen if one compiles the controller unit as part of a program) 2022-06-15 22:49:22 +02:00
Sven/Sarah Barth
ddba001b65 * ensure that nested functions of main program, main program finalization and unit initialization/finalization are generated 2022-05-26 21:43:00 +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
ccrause
181ee30174 Update build and link requirements for esp-idf v4.4. Refactor the version dependent linker fragments list into an array of version specific array of strings for easier updating in future. 2022-01-30 08:14:07 +00:00
ccrause
a9d883ada1 Add link unit for esp-idf v4.1. Version checks to allow for different patch levels in idf_version. 2022-01-18 21:34:26 +00:00
ccrause
985e8d3d13 Remove fall-through logic and separate idf_version checks of esp32 and esp8266. Also warn if idf_version is below the supported range. 2022-01-10 21:53:01 +02:00
ccrause
ea345f34aa Use different library link lists for esp8266-rtos-sdk v3.3 and v3.4. 2022-01-05 09:35:02 +00:00
ccrause
ab00794343 Keep esp32 and esp8266 version specific tweaks separate. 2021-11-29 22:42:49 +01:00
ccrause
e86d3af7e0 The linklib list for esp-idf v4.2 is also needed for v4.3 2021-11-29 22:42:49 +01:00
florian
54f2308d2a + draft for esp-idf version specific rtl unit which contains the necessery linklib statements 2021-11-29 22:42:49 +01:00
nickysn
ea5ffd597f * set self to nil in current_module.deflist for registered defs in the
tstoreddef.destroy destructor, instead of doing it after each call to
  x.owner.deletedef(x)

git-svn-id: trunk@49417 -
2021-05-30 21:27:57 +00:00
nickysn
1a71ca4106 * prevention of dangling pointers and use after free after free_unregistered_localsymtable_elements
git-svn-id: trunk@49262 -
2021-04-25 15:58:59 +00:00
pierre
e6045673ee Handle NIL entries in deflist after commit 48986
git-svn-id: trunk@49230 -
2021-04-18 15:44:07 +00:00
florian
d9784412a4 * patch by Cyrax: forbid to use heaptrc and valgrind at the same time, resolves #36529
* load cmem before line* units as they might allocate memory

git-svn-id: trunk@47390 -
2020-11-11 20:55:03 +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
40633835dc * Windows on Aarch64 requires a relocation section
git-svn-id: trunk@44918 -
2020-04-21 06:04:37 +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
svenbarth
40c11baaac * use a different name for the packages' entry point and use _DLLMainCRTStartup as an alias to avoid problems with the C-prefix
git-svn-id: trunk@43551 -
2019-11-21 21:45:18 +00:00
svenbarth
bb3b1b06a7 * fix condition for including a unit's object files or not when compiling with packages
git-svn-id: trunk@43550 -
2019-11-21 21:45:15 +00:00
florian
13ab35e3ef * fix usage of ppumove generated shared libraries
git-svn-id: trunk@43495 -
2019-11-16 14:07:32 +00:00