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
nickysn
9cebeeffa9
+ check for address size mismatch in intel syntax assembler as well
...
git-svn-id: trunk@37475 -
2017-10-16 16:19:15 +00:00
nickysn
353efcb163
* fixed rdi register name in error message
...
git-svn-id: trunk@37474 -
2017-10-16 16:14:18 +00:00
nickysn
cece021bd1
+ check whether the address sizes match for x86 string instructions with two
...
memory operands, when using the at&t syntax inline assembler
git-svn-id: trunk@37473 -
2017-10-16 16:01:38 +00:00
michael
aacd13d347
* Patch from Pascal Riekenberg: intermediate group footer should use previous field values if group footer overflows
...
git-svn-id: trunk@37472 -
2017-10-16 15:04:02 +00:00
nickysn
4cb1a96ec1
* use get_ref_address_size in the nasm writer, when handling the parameterized
...
string instructions
git-svn-id: trunk@37471 -
2017-10-16 14:21:03 +00:00
nickysn
6f2e64ff90
+ added function get_ref_address_size
...
git-svn-id: trunk@37470 -
2017-10-16 14:13:03 +00:00
nickysn
b0653a6313
+ added functions is_32_bit_ref and is_64_bit_ref, similar to is_16_bit_ref
...
* taicpu.needaddrprefix now uses is_32_bit_ref on x86_64
* is_16/32/64_bit_ref made part of the aasmcpu unit interface, so they can be
used elsewhere (e.g. in the inline assembler readers)
git-svn-id: trunk@37469 -
2017-10-16 14:05:06 +00:00
Mattias Gaertner
2ac2e7bd7d
fcl-passrc: resolver: implemented $M $TypeInfo
...
git-svn-id: trunk@37468 -
2017-10-16 10:16:13 +00:00
Mattias Gaertner
34c88e6dbc
fcl-passrc: resolver: pass static array to open array
...
git-svn-id: trunk@37467 -
2017-10-16 09:25:00 +00:00
Mattias Gaertner
69f2055ff3
fcl-passrc: resolver: error on setlength(openarray)
...
git-svn-id: trunk@37466 -
2017-10-16 08:48:14 +00:00
Mattias Gaertner
3a0e540dde
fcl-passrc: parser: fixed default class visibility to visPublic
...
git-svn-id: trunk@37465 -
2017-10-16 08:35:52 +00:00
michael
c19c39a956
* Patch from Pascal Riekenberg to fix some issues with columns
...
git-svn-id: trunk@37464 -
2017-10-16 07:37:09 +00:00
nickysn
2b6e5d817e
* changed the parameter of is_16_bit_ref to be a treference, instead of toper
...
git-svn-id: trunk@37463 -
2017-10-16 00:30:26 +00:00
pierre
d18627f0af
* Update all fpcsrc Makefile's using latest fpcmake version 2017-09-21 rev 37286
...
git-svn-id: trunk@37462 -
2017-10-16 00:27:27 +00:00
pierre
ca79cbef1f
Fix compilation of classes unit for watcom target
...
git-svn-id: trunk@37461 -
2017-10-16 00:24:14 +00:00
pierre
e3a35d99ba
Add watcom OS to ObjectOSes and symbian to UComplexOSes and MatrixOSes
...
git-svn-id: trunk@37460 -
2017-10-16 00:15:40 +00:00
nickysn
acfa199b09
* in the nasm writer, only output a segment prefix for the [si] operand, in
...
case there's a segment operand, different that DS (the default source
segment) for parameterized x86 string instructions
git-svn-id: trunk@37459 -
2017-10-14 16:58:15 +00:00
nickysn
a8232ac477
+ added warning if source or destination for x86 string instructions isn't
...
specified to be (%esi) or (%edi), when using at&t syntax assembler (this is
not considered an error by intel syntax assemblers, so we're not adding a
warning there, for now)
git-svn-id: trunk@37458 -
2017-10-14 15:27:00 +00:00
nickysn
4a8aec26bf
* fixed test tasm12c.pp (uses asmmode intel, not att)
...
git-svn-id: trunk@37457 -
2017-10-14 11:32:54 +00:00
nickysn
dd9b5eb2aa
+ added the 'Cannot override ES' message in the at&t assembler reader as well
...
git-svn-id: trunk@37456 -
2017-10-14 00:48:46 +00:00
nickysn
27978de111
+ extended tests with segment overrides in at&t asm mode
...
git-svn-id: trunk@37455 -
2017-10-13 15:43:47 +00:00
nickysn
1ee36b5b9b
+ added error message in the intel assembler reader, when an attempt is made to
...
override the ES segment in an x86 string instruction (because it cannot be
overriden)
git-svn-id: trunk@37454 -
2017-10-13 14:56:38 +00:00
marco
24e0fc5aad
* updated links mantis 32504
...
git-svn-id: trunk@37453 -
2017-10-13 10:56:06 +00:00
nickysn
baf492c7a5
+ another helper function: x86_parameterized_string_op_param_count
...
* when generating x86 code for parameterized string instructions with the
internal object writer, don't rely on the destination operand being [(r/e)di]
when determining the segment prefix, because when using intel syntax, source
and destination can be anything (only the operand size, the address size and
the source segment is taken into account)
git-svn-id: trunk@37452 -
2017-10-12 16:07:15 +00:00
nickysn
4c75b15afe
* shortened the names of the is_x86_string_instruction_op,
...
is_x86_parameterless_string_instruction_op and
is_x86_parameterized_string_instruction_op by removing 'instruction' from
their names
git-svn-id: trunk@37451 -
2017-10-12 15:20:22 +00:00
nickysn
e3ca2a3043
+ added helper functions get_x86_string_op_si_param and get_x86_string_op_di_param
...
* use get_x86_string_op_si_param in the nasm writer
git-svn-id: trunk@37450 -
2017-10-12 15:12:40 +00:00
nickysn
5a5cd65559
+ added helper functions x86_param2paramless_string_op and
...
get_x86_string_op_size
* refactored the AT&T inline asm handling of x86 parameterized string ops, so it
uses the new helper functions
git-svn-id: trunk@37449 -
2017-10-12 14:25:32 +00:00
nickysn
2f28768d2d
* simplify some code, by using is_x86_parameterized_string_instruction_op
...
git-svn-id: trunk@37448 -
2017-10-12 13:26:07 +00:00
nickysn
98c4986b6d
+ added x86 helper functions is_x86_string_instruction_op,
...
is_x86_parameterless_string_instruction_op and
is_x86_parameterized_string_instruction_op
git-svn-id: trunk@37447 -
2017-10-12 13:18:38 +00:00
nickysn
0fb79946a5
+ added support for the parameterized versions of the x86 string instructions
...
(movs, cmps, scas, lods, stos, ins, outs) in the inline asm of the i8086, i386
and x86_64 targets. Both intel and at&t syntax is supported.
* NEC V20/V30 instruction 'ins' (available only on the i8086 target, because it
is incompatible with 386+ instructions) renamed 'nec_ins', to avoid conflict
with the 186+ 'ins' instruction.
git-svn-id: trunk@37446 -
2017-10-12 00:07:02 +00:00
pierre
c8722d4237
Fix tw32115 test for msdos target by using longint type explicitly for CalcSmth function parameter
...
git-svn-id: trunk@37445 -
2017-10-11 06:25:31 +00:00
florian
4109738582
+ build exeinfo by buildrtl unit
...
git-svn-id: trunk@37444 -
2017-10-10 20:36:26 +00:00
michael
352f99c15f
* Write more types
...
git-svn-id: trunk@37443 -
2017-10-10 18:07:50 +00:00
marco
b1e4515896
* switch to 3.0.2 as prefered version
...
git-svn-id: trunk@37442 -
2017-10-10 12:57:24 +00:00
Mattias Gaertner
bb15bbec52
fcl-passrc: resolver: enum range: assign enum:=enumrange
...
git-svn-id: trunk@37441 -
2017-10-10 08:28:12 +00:00
michael
7abc3af339
* Some cosmetic, license text and other changes based on code review by Nayuki
...
git-svn-id: trunk@37440 -
2017-10-10 06:51:44 +00:00
Mattias Gaertner
1b2511c0a0
fcl-passrc: resolver: enum range: pred(), succ(), low(), high(), typecast integer to enum range
...
git-svn-id: trunk@37439 -
2017-10-09 20:38:03 +00:00
michael
c2c561a827
* QR Code printable element, plus demo report, using newly added QR Code generator unit
...
git-svn-id: trunk@37438 -
2017-10-09 19:21:28 +00:00
svenbarth
fcc1ce7a08
* fix for Mantis #30344 : applied patch by Mario Ray Mahardhika to add new command line option -Sj[-|+] to control writeable typed constants (with a small adjustment to the help text)
...
+ added test
git-svn-id: trunk@37437 -
2017-10-09 19:19:23 +00:00
michael
656405d7dc
+ Added QR code generator, image drawer
...
* QR Code generator code translated from C code from Project Nayuki (http://nayuki.io )
(reused with permission)
* Translated demo app from project Nayuki
* Added sample QR code generator demo app
git-svn-id: trunk@37436 -
2017-10-09 19:17:26 +00:00