Commit Graph

52159 Commits

Author SHA1 Message Date
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
michael
b5f9cce9e4 * Patch from Ondrej Pokorny to improve QR drawing code interface (bug ID 32580)
git-svn-id: trunk@37492 -
2017-10-20 07:17:56 +00:00
Mattias Gaertner
aa83ab3c7d pastojs: fixed insert(item,arr,pos)
git-svn-id: trunk@37491 -
2017-10-19 14:52:35 +00:00
maciej-izak
c2f870b60d fcl-res: read version resource in more proper way. The length of value may be 0 (without any content).
git-svn-id: trunk@37490 -
2017-10-19 11:46:15 +00:00
svenbarth
7e3ad42f33 + add types for the VMT's message table (the names are Delphi compatible, even if TVmtMethodEntry has no Len field)
git-svn-id: trunk@37489 -
2017-10-18 19:38:03 +00:00
marco
5e1652de3b * some more fixes.
git-svn-id: trunk@37488 -
2017-10-18 15:08:39 +00:00
marco
bf2459b99b * some initial makefile syncing
git-svn-id: trunk@37487 -
2017-10-18 15:04:48 +00:00
nickysn
67a0e9bdae + added x86 helper function get_default_segment_of_ref, which returns the
default segment base for the ref, in case there's no segment override
* in the internal assembler, use get_default_segment_of_ref to strip redundant
  prefixes, instead of always assuming all refs are DS-based

git-svn-id: trunk@37486 -
2017-10-18 14:24:58 +00:00
Mattias Gaertner
feb210cbc3 fcl-passrc: nicer error position on cant find unit
git-svn-id: trunk@37485 -
2017-10-18 10:33:36 +00:00
svenbarth
e6b39ebf15 + add methods for easier enumeration of the fields in a class' field table
git-svn-id: trunk@37484 -
2017-10-17 21:07:32 +00:00
svenbarth
0ba1073615 + add new type TVmtFieldClassTab for the class table of the field table (Delphi compatible)
git-svn-id: trunk@37483 -
2017-10-17 20:54:38 +00:00
svenbarth
530213711f * change the class references in a class' field table to indirect references
git-svn-id: trunk@37482 -
2017-10-17 20:34:21 +00:00
michael
2af27756da * Patch from Pascal Riekenberg: ApplyBandWidth: handle child bands like main parent band
git-svn-id: trunk@37481 -
2017-10-17 20:02:47 +00:00
yury
af0fdea815 * Android: Include list of supported syscalls for each CPU.
Adjust Linux RTL to work with supported Android syscalls. 
  It should fix issues with Android 8.

git-svn-id: trunk@37480 -
2017-10-17 18:15:02 +00:00
yury
dbf482d62b * Fixed version of FpSysCall() with 6 params for Linux with PIC.
git-svn-id: trunk@37479 -
2017-10-17 18:03:29 +00:00
nickysn
e8bbc4eef9 + support the xlat x86 instruction syntax with a memory operand. This allows
specifying the address size (e.g. xlat byte ptr [bx] or xlat byte ptr [ebx])

git-svn-id: trunk@37478 -
2017-10-17 16:40:06 +00:00
michael
2ffad85470 * Patch from Pascal Riekenberg:
* corrected setting of state variable IsGroupDetailPrinted
  * when printing group footer do not consider height of repeated group footer in footer space calculation
  * removed some unused local variables

git-svn-id: trunk@37477 -
2017-10-16 19:00:04 +00:00