Commit Graph

57520 Commits

Author SHA1 Message Date
svenbarth
1abc9c1fe7 * when specializing a routine all nested specializations must go to the para- or localsymtable as otherwise the symbol can't be found to be registered
git-svn-id: trunk@43568 -
2019-11-24 00:04:31 +00:00
svenbarth
6edf6cad2c * also check for Nil symtables in tsymtable.includeoption
git-svn-id: trunk@43567 -
2019-11-24 00:04:27 +00:00
svenbarth
d79e2ee9da * also store, reset and restore the current module's procinfo
git-svn-id: trunk@43566 -
2019-11-24 00:04:23 +00:00
pierre
c882828fd0 Minimalist change to avoid Invalid Typecast error on class when compiled with '-CriotR -O2' for i386-go32v2 target
git-svn-id: trunk@43565 -
2019-11-23 22:44:30 +00:00
michael
f7d6192905 * Show --stop-on-parser-error in help
git-svn-id: trunk@43564 -
2019-11-23 13:40:49 +00:00
michael
77103fe7f2 * Report error with correct exit code
git-svn-id: trunk@43563 -
2019-11-23 13:34:45 +00:00
michael
a23ed797e6 * Fix bug ID #0036335: console pops up when getting compiler info
git-svn-id: trunk@43562 -
2019-11-23 08:03:12 +00:00
pierre
8ea92a8280 Use correct macro to for 64-bit riscv CPU
git-svn-id: trunk@43561 -
2019-11-22 21:29:19 +00:00
Jonas Maebe
ff919184d8 * restored original behaviour of shl/shr constant evaluation outside
inline statements
   o fixes compilation of pasjpeg with -Cr

git-svn-id: trunk@43560 -
2019-11-22 21:12:00 +00:00
Jonas Maebe
0f46207776 * fixed (harmless) range error when expanding ~
git-svn-id: trunk@43559 -
2019-11-22 21:11:56 +00:00
michael
cf203a6590 * Add column separator
git-svn-id: trunk@43558 -
2019-11-22 15:15:15 +00:00
michael
0c25ada935 * Add header row
git-svn-id: trunk@43557 -
2019-11-22 14:44:14 +00:00
michael
94e0b499df * Add boolean field length correction
git-svn-id: trunk@43556 -
2019-11-22 14:25:35 +00:00
michael
d3733c4718 * Add boolean field length correction
git-svn-id: trunk@43555 -
2019-11-22 14:25:15 +00:00
pierre
17c422c3f2 Patch by Gareth Moreton.
* TAOptObj.CollapseZeroDistJump: Change hp1 to local variable,
     initialized as p.next, to avoid problems of dangling pointers
     revealed by use of "-CriotR -O2" compilation arguments.

git-svn-id: trunk@43554 -
2019-11-22 09:10:32 +00:00
florian
98226d33b7 * do not optimize inline nodes which are part of call node which has an init and/or cleanup block, resolves #36323
git-svn-id: trunk@43553 -
2019-11-21 22:15:06 +00:00
svenbarth
3e9bfedbc4 * ensure that the required functions are referenced for Win32 SEH for packages as well
git-svn-id: trunk@43552 -
2019-11-21 21:45:21 +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
svenbarth
2a1d26cc90 * use translateable error messages for undefined symbols and also report in which object file the symbol was first found
git-svn-id: trunk@43549 -
2019-11-21 21:45:11 +00:00
svenbarth
1e66b2464a * regenerate msg*.inc files after adding new error messages for undefined symbols
git-svn-id: trunk@43548 -
2019-11-21 21:45:08 +00:00
svenbarth
f28ac2bfc6 + add error messages for undefined symbols (both with a known object file and without)
git-svn-id: trunk@43547 -
2019-11-21 21:45:04 +00:00
svenbarth
cd7e3f354b + add a description for the link_e_comdat_selection_differs message
git-svn-id: trunk@43546 -
2019-11-21 21:45:01 +00:00
svenbarth
4b3ce0c023 * the symbol of the interface wrapper function needs to be considered as referenced as well
git-svn-id: trunk@43545 -
2019-11-21 21:44:57 +00:00
svenbarth
0a915e883e * keep track of static symbols that a global function references, as those must now be exported from a dynamic package as well if the function can potentially be inlined
git-svn-id: trunk@43544 -
2019-11-21 21:44:53 +00:00
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