pierre
0052e4da81
* Use getasizeint/putasizeint for tfieldvarsym.fieldoffset
...
* Change CurrentPPUVersion
git-svn-id: trunk@40347 -
2018-11-18 10:32:13 +00:00
florian
9f16c34329
+ initial work for tls-based threadvar support on arm-linux
...
git-svn-id: trunk@40267 -
2018-11-07 22:02:58 +00:00
yury
dd60397165
+ Added the pio_inline_not_possible flag to timplprocoption. It is set if a function can't be inline (contains an assembler block, etc). When calling such functions, no note "Call to subroutine "?" marked as inline is not inlined" is emitted.
...
git-svn-id: trunk@40254 -
2018-11-07 12:20:30 +00:00
pierre
e49025a086
More -CriotR fixes:
...
* entfile.pas: Change PPU header falgs filed from longint to dword.
* ngtcon.pas: Change local variable startoffset type to aword.
* omfbase.pas: Avoid calling move with a nil string s indexed as s[1],
to avoid a range check error.
* owomflib.pas: Disable range check explicitly in hash computation.
* utils/ppuutils/ppudump.pp: Adapt to flags type change in entfile.pas
git-svn-id: trunk@40163 -
2018-11-01 21:58:54 +00:00
pierre
3b49fda0a2
Only call moved if len>0, as otherwise astring local variable is nil, which leads to a range check error for astring[1]
...
git-svn-id: trunk@40132 -
2018-11-01 07:09:47 +00:00
pierre
9c2ac7b3dd
Avoid range check error in ReadPosInfo
...
git-svn-id: trunk@40115 -
2018-10-31 22:53:11 +00:00
pierre
378e1dfaa4
Add explicit typecast to avoid range check error
...
git-svn-id: trunk@40001 -
2018-10-20 22:19:08 +00:00
yury
e367577bf1
+ added support for x86_64-android target.
...
git-svn-id: trunk@39956 -
2018-10-17 16:56:27 +00:00
Jonas Maebe
0b246f3dbd
* converted Boolean8 to an internal type, and mapped Boolean to the
...
new internal pasbool1(type) (part of mantis #34411 )
o apply the _Bool x86-64 parameter passing rules only to pasbool1
git-svn-id: trunk@39949 -
2018-10-16 21:14:18 +00:00
pierre
a898ae856f
Adapt ppudump to fix introduced in revision 39912
...
git-svn-id: trunk@39914 -
2018-10-12 06:05:50 +00:00
yury
671d31df1d
+ Added support for the aarch64-android target.
...
git-svn-id: trunk@39862 -
2018-10-06 09:33:09 +00:00
florian
a34d4e715c
Merged riscv_new branch
...
git-svn-id: trunk@39813 -
2018-09-26 19:49:08 +00:00
svenbarth
600ed6701e
+ keep track whether a structured type has fields with management operators (or fields that in turn have fields with management operators and so on) and store that in the PPU to speed up compilation again
...
* adjusted PPUdump for this
git-svn-id: trunk@39709 -
2018-09-03 18:00:27 +00:00
Jeppe Johansen
ceb38833f2
Added RiscV32/64 target, from a cleaned up version of branches/laksen/riscv/trunk.
...
git-svn-id: branches/laksen/riscv_new@39474 -
2018-07-20 08:21:15 +00:00
svenbarth
cc153176f3
+ add a new symtable option sto_has_non_trivial_init that is true if the symtable contains a symbol with an
...
Initialize() operator (like sto_needs_init_final this flag is calculated on demand)
* increase PPU version
git-svn-id: trunk@39252 -
2018-06-20 19:00:08 +00:00
florian
21d785e41b
* do not unroll loops if the counter variable is accessed outside the current scope
...
git-svn-id: trunk@39163 -
2018-06-03 15:12:48 +00:00
pierre
79730fe479
Fix compilation error after introduction of po_hasnearfarcallmodel
...
git-svn-id: trunk@38734 -
2018-04-11 20:09:05 +00:00
Károly Balogh
dbb91b5ef0
arm-netbsd: added platform define and dummy rtl files so the build passes for this platform. port not functional yet
...
git-svn-id: trunk@38412 -
2018-03-05 15:38:46 +00:00
svenbarth
d50848174a
+ add putboolean and getboolean convenience methods to tentfile
...
* use putboolean and getboolean where approbiate
git-svn-id: trunk@37972 -
2018-01-14 21:36:02 +00:00
florian
b41cb26727
+ write selected features in ppu of the system unit and load them further on
...
* ppu version update
* -Sf might be used only during system unit compilation
* loadsystemunit factored out so the system unit can be loaded earlier than other units to get features set
git-svn-id: trunk@37708 -
2017-12-10 16:32:56 +00:00
Károly Balogh
0d15323c29
also add solaris-sparc64 to ppudump, fix build breakage after r37701
...
git-svn-id: trunk@37702 -
2017-12-08 17:16:32 +00:00
florian
3bcf774c7b
* compilation fixed
...
git-svn-id: trunk@37534 -
2017-10-30 21:01:10 +00:00
pierre
1aa731df63
Fix Absolute var symbol address (was failing for AVR cpu)
...
git-svn-id: trunk@37320 -
2017-09-25 18:44:16 +00:00
pierre
ce332eb2e2
Fix failures for rtl ppudump on sparc cpu
...
git-svn-id: trunk@37250 -
2017-09-18 14:10:19 +00:00
pierre
bd428ce6ad
Use getptruint for pointer type const, fixes i8086 ppudump problems
...
git-svn-id: trunk@37242 -
2017-09-17 20:44:08 +00:00
pierre
e1dbb5edcb
Fix crash for GenConstraints handling
...
git-svn-id: trunk@37209 -
2017-09-15 08:43:17 +00:00
pierre
8bdd161805
Fix error for jvm compiler
...
git-svn-id: trunk@37207 -
2017-09-14 15:13:31 +00:00
pierre
6a09a68156
Fix failures in rtlppulogs
...
git-svn-id: trunk@37206 -
2017-09-14 13:41:06 +00:00
svenbarth
a6821c63e0
* store the type of the helper that had been encountered during parsing in the objectdef and by extension the PPU
...
git-svn-id: trunk@37202 -
2017-09-13 21:24:06 +00:00
Károly Balogh
addc3a2f94
m68k-palmos: fixed the syscall generation, and improved it to support the dispatch-selector-in-reg-D2 traps
...
git-svn-id: trunk@36892 -
2017-08-13 01:19:19 +00:00
pierre
4c7b73d48d
Adjust string size for CpuTxt and Targets string arrays
...
git-svn-id: trunk@36861 -
2017-08-08 18:17:20 +00:00
pierre
708b9e162c
Add obsolete comment in ppudump output for obsoleted cpu and systems
...
git-svn-id: trunk@36824 -
2017-08-04 09:07:01 +00:00
Károly Balogh
365d774ca7
fixed zipinstall after r36418
...
git-svn-id: trunk@36419 -
2017-06-04 23:11:51 +00:00
maciej-izak
e91402af87
* better text format for management operators in ppudump.pp
...
git-svn-id: trunk@36202 -
2017-05-13 17:46:58 +00:00
pierre
d6bf9e03ec
Add missing management operator options to ppudump
...
git-svn-id: trunk@35934 -
2017-04-24 12:43:30 +00:00
yury
ea61dee00b
* ppudump: Mark objects with abstract methods in the JSON/XML output.
...
* pas2jni: Properly handle inherited classes when an ancestor has abstract methods.
git-svn-id: trunk@35746 -
2017-04-07 09:53:54 +00:00
yury
29986a1616
* Removed unused vars.
...
git-svn-id: trunk@35534 -
2017-03-07 08:24:10 +00:00
Károly Balogh
e8cad013f4
ppudump: fix build after r35497
...
git-svn-id: trunk@35500 -
2017-03-01 15:41:37 +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
svenbarth
c1db48c8c6
* add ability to disable the generation of an indirect symbol if needed (useful if that's done by the constant builder)
...
Note: I'm not yet really happy with both AT_DATA_FORCEINDIRECT and AT_DATA_NOINDIRECT; maybe I should replace them with flags or something like that...
git-svn-id: trunk@35366 -
2017-01-29 17:42:00 +00:00
florian
9553e8b5a8
* fix building of ppudump
...
git-svn-id: trunk@34810 -
2016-11-06 14:35:32 +00:00
Károly Balogh
c7c37f66ed
* refactored syscall types for unified naming,first bits of ARM AROS syscall support
...
git-svn-id: trunk@34806 -
2016-11-06 12:41:56 +00:00
marcus
86940dfb32
AROS: added arm-aros target to compiler and fpcmake
...
git-svn-id: trunk@34805 -
2016-11-06 10:51:45 +00:00
Károly Balogh
5db02f4202
atari: initial support for TOS syscalls
...
git-svn-id: trunk@34610 -
2016-10-03 23:37:30 +00:00
pierre
4d09dfca95
Remember usage of checkpointer (-gc) option:
...
Use new cs_checkpointer_called moduleswitches set element.
Use new uf_checkpointer_called PPU flag (reusing obsolete uf_local_browser flag value)
Emit warning if compiled library/program has any code using checkpointer.
* ppu.pas: New constant: uf_checkpointer_called
* globtype.pas: New constant: cs_checkpointer_called
* fppu.pas: Set uf_checkpointer_called flag if cs_checkpointer_called is set in current_settings.module_switches
* i8086/n8086mem.pas: Include cs_checkpointer_called in current_settings.moduleswitches
* ncgmem.pas: Likewise.
* msg/errore.msg: Add new message saying that -gc and -Ur options are incompatible
Add description to -gc option, saying it is experimental.
Add warning at link time for program/library if checkpointer is used in any unit or main code.
* options.pas: if -gc and -Ur options are used, never enable checkpointer code,
instead output a warning that release is incompatible with -gc option.
* pmodules.pas: proc_program: Check all modules for uf_checkpointer_called flag,
emit a warning if checkpointer is used.
* utils/ppuutils/ppudump.pp: Add code for uf_codepointer_called option.
git-svn-id: trunk@34567 -
2016-09-27 14:46:09 +00:00
Károly Balogh
464ecab542
huge syscall support refactor for Amiga-likes. removed large chunks of ancient duplicated code, and in general tried to make the entire thing more maintainable and cleaner. also added support for AROS EAXBase syscall convention
...
git-svn-id: trunk@34416 -
2016-09-03 07:57:23 +00:00
Károly Balogh
c5a123614a
fixed explicit paraloc support in ppudump and made it work on all Amiga-like systems
...
git-svn-id: trunk@34394 -
2016-08-29 21:26:55 +00:00
svenbarth
c2662bd96a
* mark defs created with create_global_internal() with df_internal so that they can be easily identified
...
git-svn-id: trunk@34316 -
2016-08-15 14:30:46 +00:00
pierre
c3ac426131
Fix testppudump by adding missing TAsmsymtype and TAsmsymbind
...
git-svn-id: trunk@34189 -
2016-07-22 16:42:10 +00:00
svenbarth
5bb121e91c
Add a mechanism to keep track of assembler symbols that either publicly provided by a unit or used by a unit and that are not really baked by a Pascal symbol (e.g. public function aliases, RTTI & VMT symbol).
...
This basically revives the globalasmsym entry of the PPU though it feeds to different lists, one for the public (exported) symbols and one for the external (imported) symbols. Also the list of symbols is much smaller as it would be if all symbols would be dumped in there.
git-svn-id: trunk@34174 -
2016-07-22 13:08:32 +00:00