Commit Graph

57695 Commits

Author SHA1 Message Date
svenbarth
2e259ee3cc * the VMT of the exception class needs to be referenced indirectly
git-svn-id: trunk@43543 -
2019-11-21 21:44:48 +00:00
svenbarth
a041f899d3 * when creating the static field of a generic, insert it into the generic instead of the global symtable as it isn't really used anyway
git-svn-id: trunk@43542 -
2019-11-21 21:44:43 +00:00
svenbarth
06fc84037c * ensure that generic symbols are not tried to be exported
git-svn-id: trunk@43541 -
2019-11-21 21:44:40 +00:00
svenbarth
da1312698b * correctly check for the system unit
git-svn-id: trunk@43540 -
2019-11-21 21:44:36 +00:00
svenbarth
6151f7af29 * check the localswitches of the node instead of the global ones
git-svn-id: trunk@43539 -
2019-11-21 21:44:33 +00:00
svenbarth
6f584333e5 * symbols called by g_call might need to be imported from dynamic packages as well
git-svn-id: trunk@43538 -
2019-11-21 21:44:29 +00:00
svenbarth
85637ad5fa * register constant symbols
git-svn-id: trunk@43537 -
2019-11-21 21:44:26 +00:00
svenbarth
f4d96906c2 * reference FPC_ABSMASK_SINGLE/-DOUBLE using the indirect symbol if required for dynamic packages
git-svn-id: trunk@43536 -
2019-11-21 21:44:22 +00:00
svenbarth
f13200d68b * restore localswitch settings after the initialization and finalization code was generated
git-svn-id: trunk@43535 -
2019-11-21 21:44:19 +00:00
svenbarth
276f5bdef8 * ensure that nothing assembly related is generated for generics when a typed constant (this also includes local variable initializations) are parsed
git-svn-id: trunk@43534 -
2019-11-21 21:44:16 +00:00
svenbarth
04984e9af9 * also generate indirect symbols for AB_PRIVATE_EXTERN symbols as these might be used from a unit in another package due to inlining
git-svn-id: trunk@43533 -
2019-11-21 21:44:12 +00:00
florian
f5caa9940b * make use of RemoveCurrentP
git-svn-id: trunk@43532 -
2019-11-21 20:19:49 +00:00
florian
61bf55e0fe * define renamed
git-svn-id: trunk@43531 -
2019-11-21 19:58:48 +00:00
pierre
bfb4b885ca Add riscv32 mathu inculde file, redirecting to ../riscv64/mathu.inc file (this file seems to have no 64-bit specific code)
git-svn-id: trunk@43530 -
2019-11-21 10:52:27 +00:00
pierre
ff415ba39c Fixes by Gareth Moreton for problems exposed by use of -CriotR option
git-svn-id: trunk@43529 -
2019-11-21 10:00:20 +00:00
pierre
9bd19b050b Also use syscall_nr_fstatat for FpStat function for riscv32 cpu
git-svn-id: trunk@43528 -
2019-11-20 23:04:33 +00:00
pierre
b990c59693 + riscv32 cpu: Use SYSINIT_UNITS instead of LOADERS
* mips/mipsel cpus: pass -xgot on to AS call for LOADERS,
     if OPT contains -ao-xgot.

git-svn-id: trunk@43527 -
2019-11-20 22:57:49 +00:00
pierre
0e0407ad57 Add si_XXX.inc files, pointing to riscv64 counterparts
git-svn-id: trunk@43526 -
2019-11-20 22:51:03 +00:00
pierre
23111a71ea Add missing and needed syscall_nr_XXX
git-svn-id: trunk@43525 -
2019-11-20 22:48:47 +00:00
pierre
e8b9d8442e Replace obsolete scall by ecall instruction
git-svn-id: trunk@43524 -
2019-11-20 22:48:06 +00:00
pierre
247f80abfb prepare source to also support riscv32 code
git-svn-id: trunk@43523 -
2019-11-20 22:46:31 +00:00
pierre
a61a0cce4c Use same entered_paren local variable as 64-bit counterpart and fix register names
git-svn-id: trunk@43522 -
2019-11-20 22:44:30 +00:00
florian
6248a127ca * write assembler optimizer messages into output file if DEBUG_AOPTOBJ is set
git-svn-id: trunk@43521 -
2019-11-20 22:12:28 +00:00
florian
40c54e9d37 * do not generate conditional jump with full references
+ more assembler optimizer output

git-svn-id: trunk@43520 -
2019-11-20 22:12:27 +00:00
florian
da54d0e8f7 + patch by J. Gareth Moreton: new method TAOptObj.CanDoJumpOpts and arm specific implementation
git-svn-id: trunk@43519 -
2019-11-20 22:12:27 +00:00
florian
f505822ab5 o patch by J. Gareth Moreton:
* fix jump optimizer for MIPS(EL).
    + New method called "MakeUnconditional" introduced that can do platform-specific changes

git-svn-id: trunk@43518 -
2019-11-20 22:12:26 +00:00
Mattias Gaertner
4ad0d137b1 pastojs: write generic function without body
git-svn-id: trunk@43517 -
2019-11-20 16:59:33 +00:00
pierre
7eb0be6127 Fix invalid typecast revealed by -CriotR by changing order of terms in boolean expression
git-svn-id: trunk@43515 -
2019-11-19 22:47:39 +00:00
michael
37a9cda682 * Treat 3.2 as 3.0.4
git-svn-id: trunk@43513 -
2019-11-18 16:00:03 +00:00
michael
269cb2d46a * Fix bug ID #36147
git-svn-id: trunk@43511 -
2019-11-17 22:27:28 +00:00
florian
91f3f022fe * MM registers which might not be changed can be still used in 3 op mathematical operations as source
git-svn-id: trunk@43509 -
2019-11-17 14:48:45 +00:00
florian
2d3ef8b4bc * pushf/push cs on all platforms when directly calling an interrupt procedure, with the
recent changes needed for 16 byte stack alignment it should work now

git-svn-id: trunk@43508 -
2019-11-17 14:16:32 +00:00
michael
0b888bb4ce * Accidentally made all published properties protected
git-svn-id: trunk@43507 -
2019-11-17 09:33:03 +00:00
florian
a7e72617a6 * fix stackmisalignment calculation to take care of pushf/push cs, before r43503,
it was correct by coincidence

git-svn-id: trunk@43506 -
2019-11-17 09:14:54 +00:00
Jonas Maebe
acbb456ae5 * fixed constant evaluation of shr of negative values after r43497
(tshlshr compiled with -O3)

git-svn-id: trunk@43504 -
2019-11-16 17:58:06 +00:00
florian
240acc10f8 * fix calculation of stackmisalignment for interrupt procedures as pointed out by Jonas
git-svn-id: trunk@43503 -
2019-11-16 17:46:39 +00:00
florian
3de38c4894 * naming of tests fixed
git-svn-id: trunk@43502 -
2019-11-16 17:18:04 +00:00
florian
60b3296594 * relax conditions in tcallnode.optimize_funcret_assignment, resolves #36279
git-svn-id: trunk@43501 -
2019-11-16 17:16:16 +00:00
florian
52cc02aa3b * values passed to const parameters are not limited to registers and constants
git-svn-id: trunk@43500 -
2019-11-16 17:16:15 +00:00
Jonas Maebe
4fd670c6ec * fixed missing masking of values after shifting them during inline
evaluation
   o also only mask values when performing a constant evaluation of
     "0 shl/shr x" during inline evaluation (just like when evaluating other
     shl/shr operations)

git-svn-id: trunk@43497 -
2019-11-16 14:27:47 +00:00
florian
851accbb4b * cse adjusted
git-svn-id: trunk@43496 -
2019-11-16 14:07:59 +00:00
florian
13ab35e3ef * fix usage of ppumove generated shared libraries
git-svn-id: trunk@43495 -
2019-11-16 14:07:32 +00:00
florian
f5d5e84649 * more libunits
git-svn-id: trunk@43494 -
2019-11-16 14:04:46 +00:00
florian
a969097a80 * optimization Move removed 4 fixed
git-svn-id: trunk@43493 -
2019-11-16 14:04:02 +00:00
michael
a5479bd91b * Add ellipsis, fix string type when wrapping
git-svn-id: trunk@43492 -
2019-11-16 13:26:06 +00:00
michael
e959e6165e * Implement option to replace too-long words with asterisks (bug ID 33639)
git-svn-id: trunk@43491 -
2019-11-16 12:59:25 +00:00
michael
33ac2f8e97 * Fix overflow in case of disabled wordwrap (bug ID 33356)
git-svn-id: trunk@43490 -
2019-11-16 12:11:32 +00:00
michael
1460bf1112 * Fix bug ID #0035296: need to handle really long words for memos
git-svn-id: trunk@43489 -
2019-11-16 11:30:37 +00:00
florian
18c5881e60 * update sharedlibs variable
git-svn-id: trunk@43488 -
2019-11-16 11:04:28 +00:00
florian
798a1b6219 * -P option for ppumove
git-svn-id: trunk@43487 -
2019-11-16 11:03:53 +00:00