Commit Graph

59880 Commits

Author SHA1 Message Date
yury
75e5afd45b * When optimization is off always load unused parentfp to a local location to be debugger friendly.
git-svn-id: trunk@46514 -
2020-08-20 16:59:10 +00:00
Mattias Gaertner
ccc26ad34c pastojs: compiler: reset hub
git-svn-id: trunk@46513 -
2020-08-20 16:41:46 +00:00
Mattias Gaertner
01d5519fe8 fcl-js: skip writeln test
git-svn-id: trunk@46512 -
2020-08-20 16:41:03 +00:00
yury
1002a7c590 * 8086: Fixed very long section names when $HUGECODE is ON and section based smartlinking is used.
* Added a utility function TrimStrCRC32().

git-svn-id: trunk@46511 -
2020-08-20 16:35:27 +00:00
pierre
b1ee6f7fdc Fix error in previous commit
Try to avoid unneeded steps for fullinstallsymlink

git-svn-id: trunk@46510 -
2020-08-20 16:01:34 +00:00
Mattias Gaertner
dba6f9a828 fcl-passrc: simplify
git-svn-id: trunk@46509 -
2020-08-20 13:26:40 +00:00
Mattias Gaertner
dacf740561 fcl-passrc: resolver: FinishedInterfaceIndex
git-svn-id: trunk@46508 -
2020-08-20 13:26:09 +00:00
pierre
ac36a214bf Do not set EXCLUDE_80BIT_TARGETS to 1 if OPT variable contains -dFPC_SOFT_FPUX80
git-svn-id: trunk@46507 -
2020-08-20 13:17:59 +00:00
michael
82346563c1 * Add StoredAttribute class, bug ID #37602
git-svn-id: trunk@46506 -
2020-08-20 12:06:14 +00:00
michael
8bc2326b77 * Fix bug #37601: add some attribte definitions
git-svn-id: trunk@46505 -
2020-08-20 11:53:43 +00:00
yury
5d0e1dbe5a * msdos: Fixed section based smartlinking after my recent changes.
git-svn-id: trunk@46504 -
2020-08-20 11:20:10 +00:00
yury
9a01bcf3dc * Changed Integer to Longint in definitions of RTTI structures. It fixes typinfo for 16-bit CPUs.
git-svn-id: trunk@46503 -
2020-08-20 10:31:56 +00:00
michael
460dc49d68 * Fix bug #37445, find resource file in subdir
git-svn-id: trunk@46502 -
2020-08-20 08:32:50 +00:00
pierre
ca5e2ee16a Also add platformopt to DllCmd[1], as done for ExeCmd[1]
git-svn-id: trunk@46501 -
2020-08-20 05:20:26 +00:00
florian
120825d1d6 * do not throw an internal error on illegal assembler expressions, resolves #37439
git-svn-id: trunk@46499 -
2020-08-19 21:09:44 +00:00
yury
e200fde888 * Fixed tests for 16-bit CPUs.
git-svn-id: trunk@46494 -
2020-08-19 11:02:29 +00:00
yury
1b99279617 * msdos: Enabled $HUGECODE for sysutils and classes to overcome 64K per unit code limit.
git-svn-id: trunk@46493 -
2020-08-19 10:49:40 +00:00
yury
9d41a435c2 * tinyheap: Disable inline when FPC_TINYHEAP_HUGE is defined to prevent code bloat.
git-svn-id: trunk@46492 -
2020-08-19 10:48:00 +00:00
yury
97eb32e6fd * 8086: Also fixed loading a register to a 32-bit ref in case the source register is used as the ref base or index.
git-svn-id: trunk@46491 -
2020-08-19 10:27:19 +00:00
yury
4873ec73a7 * 8086: Fixed loading a 32-bit ref to a register in case the target register is used as the ref base or index.
git-svn-id: trunk@46490 -
2020-08-19 10:20:47 +00:00
ondrej
809db09169 sql parser: support CASE with selector (CASE A WHEN 1 THEN B ELSE C END)
git-svn-id: trunk@46489 -
2020-08-19 08:45:00 +00:00
pierre
5d6d47bad1 Amend commit 46484: Do not accept LOC_CSUBSETREF location type as this represents read-only memory region which should never be modified
git-svn-id: trunk@46487 -
2020-08-18 21:58:19 +00:00
florian
b267f6fcb3 * internal error unified
git-svn-id: trunk@46486 -
2020-08-18 21:10:25 +00:00
florian
004ac4d1f4 * Xtensa: set abi correctly
git-svn-id: trunk@46485 -
2020-08-18 21:10:06 +00:00
pierre
a4cfade86b Avoid internalerror 200203273 by handling LOC_CSUBSETREG and LOC_CSUBSETREF as LOC_SUBSETREG in tcgassignmentnode.pass_generate_code
git-svn-id: trunk@46484 -
2020-08-18 20:52:47 +00:00
yury
580e9e5169 * wlib: calculate the record size according to the number of files in the library.
git-svn-id: trunk@46483 -
2020-08-18 20:02:19 +00:00
yury
9e11f8122f * Corrected r46481. Use both tcalo_new_section and tcalo_make_dead_strippable flags since only the default implementation implies a new section creation when tcalo_make_dead_strippable is specified.
git-svn-id: trunk@46482 -
2020-08-18 12:27:46 +00:00
yury
17e75004c5 * Allow library based smartlinking of indirect symbol entries.
git-svn-id: trunk@46481 -
2020-08-18 12:02:20 +00:00
yury
c75953c12b * msdos: Implemented library based smartlinking of the dead stripable vectorized lists. It is enabled for the internal linker and wlink. These linkers sort sections by name by default.
git-svn-id: trunk@46480 -
2020-08-18 11:36:39 +00:00
yury
764227193a * Added on option to implement library based smartlinking of the dead stripable vectorized lists (e.g. resource strings index). By default smartlinking of such lists only supported when the section based smartlinking (tf_smartlink_sections) is enabled for a target.
git-svn-id: trunk@46479 -
2020-08-18 11:31:39 +00:00
yury
e4b717c817 * 8086: More fixes for Ofs() handling.
git-svn-id: trunk@46478 -
2020-08-18 09:52:40 +00:00
yury
2186846ab1 * 8086: Fixed an internal error for cases like FarPtr2 := FarPointer($12345678) + int16;
git-svn-id: trunk@46477 -
2020-08-18 09:19:20 +00:00
svenbarth
075057f929 * fix for Mantis #37579: mark the 'German' tokens with the characters they represent
git-svn-id: trunk@46475 -
2020-08-17 19:45:13 +00:00
florian
7e8a50452b * StackTop must be OS specific (and not CPU specific)
git-svn-id: trunk@46474 -
2020-08-17 17:50:43 +00:00
yury
15d1d00c34 * fixed a typo.
git-svn-id: trunk@46473 -
2020-08-17 14:23:27 +00:00
ondrej
0b440758ea sql parser: support "SELECT 'a' 'b'" syntax (MSSQL)
git-svn-id: trunk@46472 -
2020-08-17 13:56:14 +00:00
pierre
b5c8ac7769 Add fgl unit to symbian RTL unit list
git-svn-id: trunk@46471 -
2020-08-17 13:47:10 +00:00
yury
222f981dd1 * 8086: Fixed Ofs() for far routines.
resultdef of typeconvnode.typecheck_proc_to_procvar() is reused every time you get an address of a proc. So it is forbidden to change the far/near attribute of resultdef - it leads to mess during code generation. 
  Instead it is needed to use separate reusable resultdefs with new flags pc_far_address and pc_offset.

git-svn-id: trunk@46470 -
2020-08-17 13:37:55 +00:00
yury
6878ffbf04 * In the TP mode for 16-bit CPUs uint8+uint8 is extended to sint16+sint16. This is TP compatible.
git-svn-id: trunk@46468 -
2020-08-17 09:25:45 +00:00
ondrej
b814c41ea9 sql parser: support functions with identifier path (MSSQL)
git-svn-id: trunk@46467 -
2020-08-17 09:24:32 +00:00
florian
8636015265 + Xtensa: consider also floating point stores in TCpuAsmOptimizer.RegLoadedWithNewValue
git-svn-id: trunk@46465 -
2020-08-16 21:48:30 +00:00
florian
f9ddc3ac66 + Xtensa: L32IMov2L32I optimization
git-svn-id: trunk@46464 -
2020-08-16 21:41:56 +00:00
florian
66e682dfdd * Xtensa: patch by Christo Crause: add support for windowed ABI stack dump, resolves #37583
git-svn-id: trunk@46463 -
2020-08-16 21:05:15 +00:00
yury
324deca817 * wlib: Explicitly specify the smallest possible record align to reduce the size of .a files.
git-svn-id: trunk@46462 -
2020-08-16 17:08:00 +00:00
florian
f72f021da4 + AAarch64: FMovFMov2FMov optimization
git-svn-id: trunk@46461 -
2020-08-16 16:26:39 +00:00
yury
b4139720e6 * RTTI: Offset of record fields is defined as SizeInt not ptruint.
git-svn-id: trunk@46460 -
2020-08-16 13:27:56 +00:00
Jonas Maebe
a88288bab3 - reverted r46457, accidentally committed (breaks -Oooptcse)
git-svn-id: trunk@46459 -
2020-08-16 12:46:21 +00:00
Jonas Maebe
8d3ef67218 - disable {$optimization on} setting so the (fp)make settings are used
git-svn-id: trunk@46458 -
2020-08-16 12:29:35 +00:00
Jonas Maebe
f26735fc77 * execute the tempinitcode whent the tempcreate node gets processed rather
than when the first temprefnode to it gets processed. Solves the issue
    the foreachnodestatic processes the tempinitcode when seeing the
    tempcreatenode and ignores it when seeing temprefnodes, even though
    it may actually be executed/generated for the temprefnode. It's
    impossible to easily process it for the "correct" temprefnode
    (since there may be multiple temprefnodes for the same tempcreatenode)
   o fixes tarray12 for Darwin/i386 and Linux/i386

git-svn-id: trunk@46457 -
2020-08-16 12:29:31 +00:00
yury
2ab7cceeaa * Added the $F+ switch (forced far calls) for some TP mode tests.
git-svn-id: trunk@46456 -
2020-08-16 10:48:10 +00:00