Commit Graph

52075 Commits

Author SHA1 Message Date
florian
4752b0ef96 + tinlinenode calls cpu specific routines for unknown inline numbers
git-svn-id: trunk@37543 -
2017-11-01 16:33:32 +00:00
florian
ff86c80176 * cpu specific header file for the system unit: cpuh.inc, moved several declarations into it
git-svn-id: trunk@37542 -
2017-11-01 16:33:30 +00:00
nickysn
e5dad9c98c + set oper.haslabelref in several other places, where a reference, containing a
label is created in the intel syntax x86 assembler. This fixes tfarcal3.pp and
  tfarcal4.pp after r37538

git-svn-id: trunk@37541 -
2017-11-01 14:31:16 +00:00
nickysn
9649154368 * fixed the token2str const array for intel syntax x86 asm
git-svn-id: trunk@37540 -
2017-11-01 13:36:16 +00:00
michael
aad1401272 * Fix usesanalyzer for resource strings
git-svn-id: trunk@37539 -
2017-11-01 10:00:05 +00:00
nickysn
9450beb99c * fixed bug in intel syntax i8086 inline asm, when certain 'jmp/call [v]'
instructions got erroneously converted to 'jmp/call v', if 'v' is an external
  far variable that points to certain things (like a local label, exported via
  public)

git-svn-id: trunk@37538 -
2017-10-31 16:49:38 +00:00
lacak
05cddddf7c fcl-db: mssql: in case of network failure infinite loop can occurs in Fetch method. Bug #32524
git-svn-id: trunk@37537 -
2017-10-31 08:45:50 +00:00
nickysn
49a96af874 + also support 'external near' var declarations on i8086
git-svn-id: trunk@37536 -
2017-10-30 21:52:03 +00:00
florian
5b766a1e67 * fixed CompareByte for x86-64 after r37528
git-svn-id: trunk@37535 -
2017-10-30 21:01:59 +00:00
florian
3bcf774c7b * compilation fixed
git-svn-id: trunk@37534 -
2017-10-30 21:01:10 +00:00
nickysn
d570c09b9d + added test, which tests public labels as well as 'external far' variables on i8086
git-svn-id: trunk@37533 -
2017-10-30 18:08:39 +00:00
nickysn
303309b28f + added support for 'external far' variables for i8086
git-svn-id: trunk@37532 -
2017-10-30 18:03:44 +00:00
nickysn
be3ff9128a + added an i8086 test for the public directive
git-svn-id: trunk@37531 -
2017-10-30 17:02:48 +00:00
nickysn
29558a74cd + support exporting labels from asm blocks in intel syntax asm blocks via the
'public' directive

git-svn-id: trunk@37530 -
2017-10-30 16:44:13 +00:00
florian
0c7306e1cd * improved CompareByte for x86-64 based on a patch by Markus Beth
git-svn-id: trunk@37528 -
2017-10-29 22:15:31 +00:00
yury
13957d32b8 * Fixed packages building for mipsel-android. socketcall is used only for i386 CPU.
git-svn-id: trunk@37527 -
2017-10-29 12:46:02 +00:00
Mattias Gaertner
5116deddc9 fcl-passrc: resolver: implicit calls in arguments of built-in procs
git-svn-id: trunk@37526 -
2017-10-29 10:38:57 +00:00
nickysn
d318ab086a * when handling absolute vars from within intel inline assembly, take the
absolute var size into account (not the type of the var it points to or no
  size at all, if it points to a fixed address)

git-svn-id: trunk@37525 -
2017-10-26 15:58:48 +00:00
lacak
eef6e65730 fcl-db: memds: for ftLargeInt fields use AsLargeInt when copying
git-svn-id: trunk@37524 -
2017-10-26 13:00:50 +00:00
lacak
555528d145 fcl-db: memds: when copying data from source dataset to destination honor NULL values. Bug #32537
git-svn-id: trunk@37523 -
2017-10-26 12:53:25 +00:00
lacak
5c98c93500 fcl-db: tests: memds: check if null values are copied correctly. Bug #32537
git-svn-id: trunk@37522 -
2017-10-26 11:37:25 +00:00
nickysn
8a0d8f025b * fixed another i8086 inline asm 32-bit constant bug (e.g. in 'or eax, 80000001h')
git-svn-id: trunk@37521 -
2017-10-25 19:38:37 +00:00
nickysn
07eab50afe + added a test for 32-bit inline asm const operand on i8086, using at&t syntax as well
git-svn-id: trunk@37520 -
2017-10-25 18:09:11 +00:00
nickysn
325e66287c * fix for inline asm of instructions with 32-bit constant operands on i8086
git-svn-id: trunk@37519 -
2017-10-25 18:03:22 +00:00
nickysn
2af5c9d508 * changed type used for section alignment from byte/shortint to longint, so the
internal object writer and the internal linker support object files with
  sections with alignment >=256

git-svn-id: trunk@37518 -
2017-10-25 15:47:29 +00:00
nickysn
8cc230ef1a - don't switch index into base in the gas assembly writer. This optimization
(and others) are performed in optimize_ref().

git-svn-id: trunk@37517 -
2017-10-25 13:42:18 +00:00
nickysn
d7e4b50068 + also optimize x86_64 references by switching [rbp+reg64] to [reg64+rbp],
[r13+reg64] to [reg64+r13] and [r13d+reg32] to [reg32+r13d]

git-svn-id: trunk@37516 -
2017-10-24 16:18:43 +00:00
nickysn
5ae32a0ec5 + always do the x86_64 reference optimizations as if SS=DS, because the CPU
basically ignores these segments in long mode

git-svn-id: trunk@37515 -
2017-10-24 15:38:59 +00:00
nickysn
e58bad8eef + check for the 'pop cs' instruction in the x86 inline assembler and print a
warning (on the i8086 target) or an error (on i386 and x86_64) when this
  instruction is used (because it only works on 8086 and 8088 CPUs)

git-svn-id: trunk@37514 -
2017-10-24 15:07:20 +00:00
marco
fb57fd7324 * patch from Mattias fixing save/restore ancestorpos in twriter. Mantis #32607
git-svn-id: trunk@37513 -
2017-10-24 13:23:26 +00:00
nickysn
0d1f7910d7 + also apply optimize_ref() on references of inline asm instructions
git-svn-id: trunk@37512 -
2017-10-23 22:28:08 +00:00
nickysn
875339993f * strip segment overrides, for segments, which should be equal in the current
model to the default segment of the reference in optimize_ref, when
  inlineasm=false

git-svn-id: trunk@37511 -
2017-10-23 15:51:33 +00:00
nickysn
d220d6f2c6 * use get_default_segment_of_ref() in the seg() handling on i8086
git-svn-id: trunk@37510 -
2017-10-23 14:55:52 +00:00
michael
ad1ebe0667 * Fix compilation
git-svn-id: trunk@37509 -
2017-10-23 12:36:46 +00:00
michael
7b12811f52 * Some more fixes from Pascal Riekenberg to simplify AfterPrintBand
git-svn-id: trunk@37508 -
2017-10-23 12:17:51 +00:00
michael
2547643cbb * HandleOverflowedBands can use a single enumerated, does not need a set
git-svn-id: trunk@37507 -
2017-10-23 10:40:33 +00:00
michael
46da90ce8e * Patch from Pascal Riekenberg with some fixes
* fixed: group footer with position fpStackAtBottom 
  * refactored: footer handling
  * fixed: if StartOnNewSection is set to rsColumn in more than one group in multi column mode

git-svn-id: trunk@37506 -
2017-10-23 10:30:25 +00:00
michael
e4976dd314 ShowBandWithChildren: further simplification, single loop
git-svn-id: trunk@37505 -
2017-10-22 10:18:35 +00:00
michael
89db233a0e * Remove use of continue
git-svn-id: trunk@37504 -
2017-10-22 10:02:25 +00:00
michael
a171ad319e * Patch from Pascal Riekenberg to avoid try/finally in block
git-svn-id: trunk@37503 -
2017-10-22 09:54:58 +00:00
michael
fc638ed7ba * Patch from Pascal Riekenberg: better naming for TOverFLowAction
git-svn-id: trunk@37502 -
2017-10-21 22:09:05 +00:00
michael
9e08dd108b * Fix data fetching optimization
git-svn-id: trunk@37501 -
2017-10-21 19:11:50 +00:00
michael
42ac9457a2 * Original patch of Pascal Riekenberg to replace previous one
git-svn-id: trunk@37500 -
2017-10-21 19:10:07 +00:00
michael
0796eefe50 * Refactoring
git-svn-id: trunk@37499 -
2017-10-21 18:50:31 +00:00
michael
427792aa29 * Some refactoring of ShowBandWithChildren
git-svn-id: trunk@37498 -
2017-10-21 15:22:27 +00:00
michael
3f09294aab * Functions to see whether a published property is readable or writeable
git-svn-id: trunk@37497 -
2017-10-20 19:41:56 +00:00
michael
a3bcefd78c * Use pointer get/set methods
git-svn-id: trunk@37496 -
2017-10-20 19:17:11 +00:00
michael
3d3bbcfa9c * Raise error if property cannot be written (Enhanced patch from Ondrej Pokorny, bug ID #32586)
git-svn-id: trunk@37495 -
2017-10-20 18:44:35 +00:00
nickysn
80226e3af4 + added an optimization pass, that optimizes x86 references
git-svn-id: trunk@37494 -
2017-10-20 15:55:55 +00:00
michael
d28a790a43 * Patch from Pascal Riekenberg:
* fixed and extended nested grouping in column mode
  * updated nestedgroups demo

git-svn-id: trunk@37493 -
2017-10-20 14:22:02 +00:00