Commit Graph

59853 Commits

Author SHA1 Message Date
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
yury
721e89fafd * msdos: Force names of external routines to be all uppercase only in TP mode.
git-svn-id: trunk@46455 -
2020-08-16 10:45:45 +00:00
yury
154ada9e86 * 8086: enable cs_force_far_calls when m_nested_procvars is enabled.
* 8086: when the compiler mode switches to a non-TP mode, enable cs_force_far_calls.

git-svn-id: trunk@46454 -
2020-08-16 10:34:23 +00:00
florian
18b8b9c566 * do not apply range test optimization if the variable is a string being compared against a char constants, resolves #37476
git-svn-id: trunk@46453 -
2020-08-15 18:29:26 +00:00
Mattias Gaertner
7e8b9122dd pastojs: started hub for shared values
git-svn-id: trunk@46452 -
2020-08-15 16:57:11 +00:00
Mattias Gaertner
db49df38bc fcl-passrc: resolver: started hub for shared values
git-svn-id: trunk@46451 -
2020-08-15 16:56:39 +00:00
marco
a9f9ee43af * fix for mantis 37573 by Sergey Larin. Manually chain coinitialize* running into the initproc chain, executing it depth first to make it as late as possible.
git-svn-id: trunk@46450 -
2020-08-15 15:21:38 +00:00
Jonas Maebe
cc14f06677 * when a function returns a value in a register, but normally that type
would never be put in that kind of register by the compiler, store
    it to memory to avoid issues down the line
   o fixes tcalext6 on darwin/i386

git-svn-id: trunk@46449 -
2020-08-15 15:13:08 +00:00
Jonas Maebe
ad7c3d9a09 * don't convert lea to add/inc/dec/sub if there's a symbol in the reference
o fixes make cycle on Darwin/i386

git-svn-id: trunk@46448 -
2020-08-15 12:14:45 +00:00
Károly Balogh
313790502d * linux-m68k: depend on FPU defines to compile FPU code, instead of CPU68020. also, minor cosmetics
git-svn-id: trunk@46447 -
2020-08-15 09:07:30 +00:00
ondrej
bcde18f879 sql parser: fallback for all parser keywords to identifiers/functions if they are used in an expression (e.g. LEFT was affected)
git-svn-id: trunk@46446 -
2020-08-15 08:26:42 +00:00
michael
25b14f0bef * Calling conventions in casing as in Delphi, patch by Henrique Werlang, bug ID #37571
git-svn-id: trunk@46445 -
2020-08-15 07:34:43 +00:00
michael
c7841139f4 * Expose ExtraUnits, remove hardcoded DTypesUnit, patch by Henrique Werlang (bug ID 37570)
git-svn-id: trunk@46444 -
2020-08-15 07:31:43 +00:00
michael
cca2933e25 * Remove hints (by Henrique Werlang)
git-svn-id: trunk@46443 -
2020-08-15 07:30:23 +00:00
michael
9e3574027c * unit alias possibility
git-svn-id: trunk@46442 -
2020-08-15 07:26:44 +00:00
michael
cd5dcc278e * Check unit alias possibility
git-svn-id: trunk@46441 -
2020-08-15 07:25:48 +00:00
ondrej
672e59317a sql parser: add source position information to element lists
git-svn-id: trunk@46439 -
2020-08-14 19:56:36 +00:00
ondrej
98036f52be sql parser: support SELECT without a FROM clause
git-svn-id: trunk@46438 -
2020-08-14 19:23:45 +00:00
ondrej
f89650c470 sql parser: fix A*B, A/B and add tests
git-svn-id: trunk@46437 -
2020-08-14 19:14:37 +00:00
ondrej
5bac4c25e0 sql parser: support A.* syntax
git-svn-id: trunk@46436 -
2020-08-14 18:40:46 +00:00
florian
1ba8255af0 * do not try to unroll a loop if previously an error was thrown, resolves #37475
git-svn-id: trunk@46435 -
2020-08-14 18:10:56 +00:00
ondrej
9fca033ac3 sql parser: unify identifier path code
git-svn-id: trunk@46434 -
2020-08-14 17:46:38 +00:00
yury
f7d14128b5 * 8086: Do not force far calls in the TP mode by default. This is TP compatible. Other modes need forced far calls by default in order to compile non-TP code.
git-svn-id: trunk@46433 -
2020-08-14 16:56:13 +00:00
yury
9d3b105fab * msdos: By default external routine names with the pascal calling convention must be all upper case. This is TP and TASM compatible.
git-svn-id: trunk@46432 -
2020-08-14 16:21:12 +00:00
yury
631ec77157 * 8086: Fixed calling of local routines with the near attribute in the 'far code' memory models.
git-svn-id: trunk@46431 -
2020-08-14 16:17:18 +00:00
ondrej
38c7659d07 TEncoding: fix base convert functions for empty inputs
git-svn-id: trunk@46430 -
2020-08-14 14:59:05 +00:00
ondrej
56613723b9 sql parser: fix source position
git-svn-id: trunk@46429 -
2020-08-14 14:17:54 +00:00
ondrej
0fb6419edd sql parser: support CASE expression
git-svn-id: trunk@46428 -
2020-08-14 13:48:29 +00:00