pierre
48f06bef12
Add C objects linked with $L directive in %FILES to fix dosbox go32v2 tests
...
git-svn-id: trunk@39129 -
2018-05-28 08:11:42 +00:00
svenbarth
f077c7d950
+ add support for Unicode code point constants > $FFFF; they are converted to a surrogate pair so they are in
...
fact a UnicodeString constant
+ added tests
git-svn-id: trunk@39123 -
2018-05-27 14:06:19 +00:00
pierre
c64455cfd4
Do not assume that size of integer type is 4 (it's 2 for msdos)
...
git-svn-id: trunk@39122 -
2018-05-26 06:04:57 +00:00
svenbarth
199b5809a3
* optimize "dynarr := dynarr + [elem]" to "Insert(elem, dynarr, High(SizeInt))" and "dynarr := [elem] + dynarr" to "Insert(elem, dynarr, 0)" (we need to do this in the typecheck of taddnode as otherwise the array constructor is already converted)
...
+ added test
* adjusted test for Mantis #30463 as p1 triggers the optimization as well
git-svn-id: trunk@39119 -
2018-05-25 16:03:56 +00:00
pierre
4efb978858
Fix wrong preprocessor: $undefine is not accepted, must be $undef
...
git-svn-id: trunk@39116 -
2018-05-25 14:51:13 +00:00
florian
8f472d5212
* check for more controll flow statements before doing loop unrolling
...
git-svn-id: trunk@39083 -
2018-05-21 15:46:02 +00:00
svenbarth
b7cc225149
* revert r39043 and r39045 which disallow static array constants inside dynamic constants for Delphi modes
...
git-svn-id: trunk@39078 -
2018-05-21 08:13:17 +00:00
svenbarth
dcdb151add
* prohibit static array constants inside dynamic array constants for Delphi modes
...
+ added test
git-svn-id: trunk@39045 -
2018-05-20 11:50:27 +00:00
svenbarth
a29a6abc55
+ add support for Delphi's dynamic array constant syntax ("[...]") in Delphi modes
...
git-svn-id: trunk@39042 -
2018-05-20 11:50:19 +00:00
svenbarth
08dd4e5445
+ add support for dynamic array constants
...
+ added test
git-svn-id: trunk@39041 -
2018-05-20 11:50:16 +00:00
pierre
8a60f39a14
Disable checking of default code page for cross-compilation configurations
...
git-svn-id: trunk@38978 -
2018-05-11 16:11:27 +00:00
pierre
f28ab34f06
unicodeducet must appear before fpwidestring to set current_collation at startup
...
git-svn-id: trunk@38962 -
2018-05-09 23:11:48 +00:00
svenbarth
11f673a991
* also allow a ";"-separated list of namespaces for -FN
...
+ added test
git-svn-id: trunk@38939 -
2018-05-06 21:16:51 +00:00
svenbarth
79aab18b13
+ add tests for default namespaces
...
git-svn-id: trunk@38921 -
2018-05-05 17:21:31 +00:00
nickysn
8a32d7c663
+ also support constants like 'dd [5]' in the intel syntax inline asm (for BP7
...
compatibility)
git-svn-id: trunk@38855 -
2018-04-27 11:21:51 +00:00
nickysn
16e0172021
+ partial support for BP7 reference-like inline asm constants
...
git-svn-id: trunk@38850 -
2018-04-26 14:31:13 +00:00
pierre
dbc0dd81fd
Modify the test to reflect the fact the compiler prefers conversion of ansiString to RawByteString over to UTF8String
...
git-svn-id: trunk@38781 -
2018-04-18 10:21:26 +00:00
pierre
49caa8fcef
Disable UNC tests for go32v2 without LFNSupport (like dosbox on Linux)
...
git-svn-id: trunk@38779 -
2018-04-16 13:16:05 +00:00
michael
e495d73239
* Fix tests conforming to new behaviour wrt empty string
...
git-svn-id: trunk@38778 -
2018-04-16 09:45:50 +00:00
pierre
5d2a627572
Skip test/packages/webtbs/tw11570.pp for msdos and go32v2 targets
...
git-svn-id: trunk@38776 -
2018-04-15 21:27:02 +00:00
pierre
9faf12b42d
Skip all fcl-sb tests for msdos and go32v2 targets
...
git-svn-id: trunk@38775 -
2018-04-15 21:24:12 +00:00
pierre
bb2433c591
skipped targets must be separated by ,
...
git-svn-id: trunk@38774 -
2018-04-15 21:23:29 +00:00
pierre
1e1603425d
Remove explicit far modifier to fix msdos compilation
...
git-svn-id: trunk@38765 -
2018-04-13 22:19:34 +00:00
pierre
ab7fb33d67
Restore removed ifdef UNIX around iosxwstr/cwstring unit loading
...
git-svn-id: trunk@38763 -
2018-04-13 06:22:21 +00:00
pierre
30fb24f06a
Fix more compilation errors
...
git-svn-id: trunk@38761 -
2018-04-12 21:54:53 +00:00
pierre
1405110f33
Add cthreads unit for unix targets
...
git-svn-id: trunk@38760 -
2018-04-12 21:42:02 +00:00
pierre
5ae4724a5b
Use USE_INTERNAL_UNICODE to be able to test fpwidestrings on different targets
...
git-svn-id: trunk@38758 -
2018-04-12 20:51:13 +00:00
nickysn
bbc364b245
* inline asm fix for accessing record variables when using the unitname (e.g.
...
'mov ax, unitname.varname.fieldname')
git-svn-id: trunk@38755 -
2018-04-12 16:35:21 +00:00
pierre
823bb7bd07
Add units required for wide strings support for go32v2 target
...
git-svn-id: trunk@38743 -
2018-04-12 14:37:16 +00:00
pierre
f9069b1ec6
Add units required for wide strings support for go32v2 target
...
git-svn-id: trunk@38739 -
2018-04-12 12:07:28 +00:00
pierre
e742588f8a
Add fpwidestring and unicodeducet in uses clause for go32v2 target
...
git-svn-id: trunk@38738 -
2018-04-12 10:18:55 +00:00
pierre
1b91d17684
Skip this test for msdos and go32v2
...
git-svn-id: trunk@38737 -
2018-04-12 10:18:24 +00:00
pierre
d9c8d478b2
Restrict test to i8086 cpu
...
git-svn-id: trunk@38693 -
2018-04-06 07:40:21 +00:00
nickysn
e1d0e7572e
* i8086 TP7 compatibility fixes, related to obtaining procedure addresses:
...
o The @ and Addr() operators in TP or Delphi mode can now be applied to both
near and far procedures and they always produce a CodePointer, regardless of
the call model of the procedure.
o Ofs() and Seg() can now also be applied to both near and far procedures.
o The @ and Addr() operators in non-TP/Delphi modes, as well as the procedure
name itself in TP/Delphi modes now can be applied to both near and far
procedures and produce a near or a far procvar.
git-svn-id: trunk@38691 -
2018-04-05 15:09:12 +00:00
florian
6c9d7e5c07
- remove ret check to make it more stable
...
git-svn-id: trunk@38580 -
2018-03-20 21:58:56 +00:00
florian
b55f9fda01
* fix size
...
git-svn-id: trunk@38556 -
2018-03-17 21:55:48 +00:00
florian
aa4af19027
* set localalignmin to 4 on x86_64-win64, there is no reason to leave it at 8 (same as linux)
...
* adapt tasm23b
git-svn-id: trunk@38554 -
2018-03-17 21:30:49 +00:00
pierre
4cf1ac209a
Add %skiptarget=$nothread to tests using threads
...
git-svn-id: trunk@38528 -
2018-03-15 09:05:26 +00:00
pierre
cc22913a4c
Modify DoMem parameter type to SizeUInt and adapt tests using this function, to avoid run time errors with range check
...
git-svn-id: trunk@38521 -
2018-03-13 21:59:58 +00:00
nickysn
602dd31a45
+ added a warning for using cs/ds/es/ss segment overrides in inline assembly on
...
the x86_64 target
git-svn-id: trunk@38517 -
2018-03-13 14:41:21 +00:00
nickysn
8ecc41186d
+ added an x86_64 version of the tasm23.pp test
...
git-svn-id: trunk@38505 -
2018-03-12 16:07:39 +00:00
nickysn
79477f04b0
+ added test tasm23a.pp - an i386 version of tasm23.pp
...
git-svn-id: trunk@38504 -
2018-03-12 15:14:03 +00:00
pierre
640f7fbf94
Add test for small records for 1 to 8 bytes in size passing to procedures
...
git-svn-id: trunk@38503 -
2018-03-11 22:06:29 +00:00
nickysn
5a47ccc585
* updated test tasm23.pp, so that it checks the generated code
...
git-svn-id: trunk@38476 -
2018-03-09 15:45:41 +00:00
nickysn
9b093ac375
+ extended test tasm23 with 'mov ax, word cs:5[localvar]'
...
git-svn-id: trunk@38474 -
2018-03-09 14:22:23 +00:00
nickysn
68be282507
+ support adding an OPR_REFERENCE to a OPR_LOCAL in the x86 intel syntax asm
...
reader; this fixes stuff like 'mov ax,cs:localvar[5]'
git-svn-id: trunk@38457 -
2018-03-08 14:32:31 +00:00
nickysn
6e79c8ba86
+ support adding an OPR_LOCAL to a OPR_REFERENCE in
...
tx86intreader.AddReferences(); this allows things like mov ax,[cs:[local]] to
work
git-svn-id: trunk@38444 -
2018-03-07 17:31:25 +00:00
pierre
593794c0fd
Add $PIC OFF directive for FPC compilation and change Data field type to int64 to avoid size errors
...
git-svn-id: trunk@38432 -
2018-03-06 11:08:03 +00:00
pierre
7e98f58c8a
Add $PIC OFF directive for FPC compilation
...
git-svn-id: trunk@38431 -
2018-03-06 11:07:13 +00:00
florian
09e205b7b0
* test is i386 only
...
git-svn-id: trunk@38396 -
2018-03-02 21:57:44 +00:00
nickysn
6f8abde786
+ support [const+[ref]] in the x86 intel syntax asm reader
...
git-svn-id: trunk@38383 -
2018-02-28 16:24:45 +00:00
nickysn
8ffde52974
+ also support [expr1]+[expr2] for adding references in the x86 intel syntax asm reader
...
git-svn-id: trunk@38381 -
2018-02-28 15:48:48 +00:00
svenbarth
332b078c22
* small extension of the test for completeness sake
...
git-svn-id: trunk@38369 -
2018-02-27 21:45:50 +00:00
florian
8c5606b41d
+ support mmx shifting
...
git-svn-id: trunk@38367 -
2018-02-27 21:40:12 +00:00
nickysn
9c814e42c9
+ support segment overrides inside references (e.g. [es:bx]) in the x86 intel
...
syntax inline asm reader
git-svn-id: trunk@38365 -
2018-02-27 17:29:46 +00:00
nickysn
c4f66a2492
* fixed comment in test
...
git-svn-id: trunk@38356 -
2018-02-26 17:38:42 +00:00
nickysn
45fdd7655d
+ support concatenation of references in x86 intel syntax inline asm:
...
[expr1][expr2] = [expr1+expr2]
[expr1[expr2]] = [expr1+expr2]
This is compatible with TP7's inline asm, and perhaps also with tasm/masm/delphi.
git-svn-id: trunk@38352 -
2018-02-26 17:17:47 +00:00
nickysn
506d5fe30e
+ support bracketless references in the x86 intel syntax; ugly, but TP7 (and
...
perhaps also Delphi, TASM and MASM)-compatible
git-svn-id: trunk@38296 -
2018-02-20 17:18:09 +00:00
nickysn
8c99f3f70d
+ added tests tasm21a.pp and tasm21b.pp - same as tasm21.pp, but for i386 and x86_64
...
git-svn-id: trunk@38294 -
2018-02-20 16:06:29 +00:00
nickysn
cc3da0979e
+ extended test tasm21.pp, so it actually checks that the instructions it tests
...
do the right thing
git-svn-id: trunk@38293 -
2018-02-20 04:09:16 +00:00
nickysn
6c69e10613
+ fix for using the function name (as the function's entry point address,
...
instead of the function result variable, which is already accessible, using
the @Result directive) in inline asm
git-svn-id: trunk@38289 -
2018-02-19 18:04:00 +00:00
nickysn
81044b4cff
+ extended test tasm20.pp with a function, which checks that a shortstring
...
parameter doesn't get copied to a local variable in a pure asm routine
git-svn-id: trunk@38249 -
2018-02-16 15:27:52 +00:00
nickysn
1a57391e55
+ extended test tasm20.pp with a function, that returns a shortstring (in that
...
particular case, it is allocated a @Result variable)
git-svn-id: trunk@38248 -
2018-02-16 15:02:06 +00:00
nickysn
f1b6be2d74
+ only allocate a result variable for asm routines on i8086, if they are
...
returned in a parameter. This improves TP7 compatibility.
git-svn-id: trunk@38246 -
2018-02-15 17:51:03 +00:00
nickysn
b9e41330d4
+ ensure the callee size paraloc info is available, when setting up a local var
...
or parameter in RAUtils.TOperand.SetupVar(). This fixes a compiler crash, when
a parent parameter or local var is accessed (in certain ways) inside a nested
inline asm routine.
git-svn-id: trunk@38236 -
2018-02-14 14:14:34 +00:00
nickysn
6c09394d35
+ added test tasm18h.pp: same as tasm18.pp and tasm18g.pp, but for x86_64
...
git-svn-id: trunk@38232 -
2018-02-12 16:33:59 +00:00
nickysn
1857373c1b
+ added test tasm18g.pp, which is an i386 version of tasm18.pp
...
git-svn-id: trunk@38231 -
2018-02-12 16:14:21 +00:00
nickysn
f7ab96bbba
* fixed program name in test tasm18f.pp
...
git-svn-id: trunk@38230 -
2018-02-12 15:46:17 +00:00
nickysn
34c9136283
+ added tests, which check that 'test [reg+const*recordtype], 1' and
...
'test [reg+const*recordtype.recordfield], 1' produce an 'unable to determine
operand size' error
git-svn-id: trunk@38229 -
2018-02-12 15:44:39 +00:00
nickysn
6fafac65fb
+ extended test tasm18.pp with instructions with a reference to a longint-sized
...
recordtype or recordtype.variable, but explicit 'byte ptr' or 'word ptr' type
override
git-svn-id: trunk@38228 -
2018-02-12 15:34:08 +00:00
nickysn
b2b7d685a6
+ extended test tasm18.pp with 32-bit instructions; this doesn't hurt TP7
...
compatibility, because TP7 produces an error (invalid combination of opcode
and operands) in case of e.g.
'test [di+rectype.longintfield], 1'; FPC instead generates:
'test dword ptr [di+rectype.longintfield], 1' which is 386+, so whether it
compiles depends on the asmcpu type.
git-svn-id: trunk@38226 -
2018-02-12 14:57:23 +00:00
florian
96ffb8abc9
+ more tests
...
git-svn-id: trunk@38207 -
2018-02-11 17:50:40 +00:00
florian
31f78ea2b6
+ implementation of the vectorcall calling convention by J. Gareth Moreton
...
+ tests
git-svn-id: trunk@38206 -
2018-02-11 17:50:37 +00:00
nickysn
f5e6b40486
+ extended test tasm18.pp with recordtype*constant and
...
recordtype.recordfield*constant expressions in asm references
git-svn-id: trunk@38201 -
2018-02-11 03:43:31 +00:00
nickysn
a834e6d5c5
+ added test tasm18b.pp, which is yet another for 3-byte records, which should
...
not set a valid operand size in the intel asm syntax mode. The difference
with tasm18a.pp is, this one tests recordtype.a3bytefield, while tasm18a.pp
tests a3byterecord directly.
git-svn-id: trunk@38199 -
2018-02-11 01:25:17 +00:00
florian
08ebf36d00
* fix test for i8086
...
git-svn-id: trunk@38192 -
2018-02-10 22:19:59 +00:00
nickysn
3e63f6bbae
+ added test tasm18a.pp, which tests that 3-byte records don't set a valid
...
operand size in the intel asm syntax mode. In other words, this is not valid:
test [di + a3byterecordtype], 1
git-svn-id: trunk@38190 -
2018-02-10 16:27:48 +00:00
nickysn
d5845a2d2a
* updated test tasm18.pp, so it is now runnable and checks the generated code
...
git-svn-id: trunk@38188 -
2018-02-10 12:34:03 +00:00
nickysn
cbf01fc284
+ added test tasm18.pp, which tests instructions with an operand size set
...
implicitly by a recordtype.recordfield or recordtype constant; test is
i8086-only and NORUN for now, but will be updated later, to actually test the
generated code as well (and more tests will be added for i386 and x86_64 as
well)
git-svn-id: trunk@38177 -
2018-02-09 17:54:47 +00:00
nickysn
391f85f828
+ for TP7 compatibility, allow the '&', '$' and '?' characters in the x86 intel
...
syntax inline asm reader
git-svn-id: trunk@38167 -
2018-02-08 16:54:33 +00:00
nickysn
1709fa61a4
+ extended test tasm17.pp with 'dw offset @jumptarget', 'dd @jumptarget' and
...
'dd offset @jumptarget'
git-svn-id: trunk@38166 -
2018-02-08 16:13:27 +00:00
nickysn
dd04114af9
+ extended test tasm17.pp with 'DW @jumptarget'
...
git-svn-id: trunk@38165 -
2018-02-08 15:46:53 +00:00
nickysn
d65fb1907a
+ extended test tasm17.pp with 'DW/DD const+offset x'; unfortunately, TP7 also
...
supports 'DW/DD offset const+x', which we don't and I don't know whether we
should
git-svn-id: trunk@38164 -
2018-02-08 15:41:03 +00:00
nickysn
b2d71f6f66
* fix test tasm17.pp for the i8086 huge memory model
...
git-svn-id: trunk@38156 -
2018-02-07 16:35:24 +00:00
nickysn
0c1062bb45
+ extended test tasm17 with 'DW/DD xx+constant' and 'DW/DD OFFSET xx+constant'
...
git-svn-id: trunk@38155 -
2018-02-07 16:33:03 +00:00
nickysn
70cbb8c326
+ added test for 'DW/DD OFFSET xx' on i8086
...
git-svn-id: trunk@38154 -
2018-02-07 16:20:22 +00:00
nickysn
d86e5d006c
+ added test for seg(x) and ofs(x) initialized typed constants in TP mode as well
...
+ added directive for using the FPC compiler mode in test tsegofs1.pp
git-svn-id: trunk@38135 -
2018-02-06 13:27:36 +00:00
nickysn
f351b6acc9
+ added an i8086 test for typed constants, initialized with ofs(x) or seg(x)
...
git-svn-id: trunk@38122 -
2018-02-05 16:24:35 +00:00
nickysn
50acde9e36
+ also add 'rep; db $66; movsw' to the tasm16.pp test
...
git-svn-id: trunk@38098 -
2018-02-01 20:00:43 +00:00
nickysn
1f0e311fdd
+ allow segment override prefixes to be used as a standalone opcode in the intel
...
syntax inline assembler; this is TP7 compatible and allows compiling ugly
code, such as 'seges; db $67,$66; lodsw'
git-svn-id: trunk@38096 -
2018-02-01 17:31:59 +00:00
florian
f61b074912
* (re)store alignment when doing a $push/$pop
...
git-svn-id: trunk@38020 -
2018-01-22 21:06:07 +00:00
michael
f6a08a2c74
* Patch from Ondrej Pokorny to allow correct nodefault/stored for strings
...
git-svn-id: trunk@37954 -
2018-01-13 10:22:16 +00:00
florian
4a98fcb9d3
* patch by J. Gareth Moreton: reorganises the produced machine code for large unsigned divisions, resolves #32984
...
git-svn-id: trunk@37950 -
2018-01-12 22:03:52 +00:00
florian
11a3d8762a
* patch by J. Gareth Moreton:
...
- Moved the part that emits the CMOV command outside of the if-else block, because it's the same in both branches and was just duplicated code.
- Moved a comment about powers of 2 to be right before the correct if-else block.
- Added a couple of comments to explain what the algorithm is doing to obtain the remainder.
- Added missing "writeln('ok');" (since 'tmoddiv3.pp' has it) and program header to 'tmoddiv4.pp'.
- Changed program name from "testfile2" to "tmoddiv3" in 'tmoddiv3.pp'.
git-svn-id: trunk@37939 -
2018-01-09 20:04:49 +00:00
florian
81b2cf5d65
* slightly modified patch by J. Gareth Moreton: Optimization for 'mod' on i386/x86-64, resolves #32945
...
git-svn-id: trunk@37922 -
2018-01-06 14:58:28 +00:00
Jonas Maebe
320a699967
* fixed storing the symbols of the global macro symbol table in the ppu in
...
macpas mode after r32153
o adjusted test so it checks this
git-svn-id: trunk@37912 -
2018-01-04 20:51:39 +00:00
svenbarth
916ff0b92c
+ extend Concat() with support for dynamic arrays
...
+ added test
git-svn-id: trunk@37723 -
2017-12-12 19:54:08 +00:00
nickysn
b571f48735
* fixed the return type of FarAddr(), so that it is assignment compatible to
...
typed far pointers as well
git-svn-id: trunk@37629 -
2017-11-27 19:42:36 +00:00
nickysn
78e0f6c68b
+ added an i8086-specific FarAddr() function, similar to Addr(), but always
...
returns a far pointer, regardless of the current memory model
git-svn-id: trunk@37628 -
2017-11-27 16:41:48 +00:00
nickysn
51489f9186
+ added test for the StrUpper() and StrLower() functions in the strings unit
...
git-svn-id: trunk@37617 -
2017-11-24 15:59:20 +00:00
nickysn
c464f7fa56
* fixed the SEG inline asm directive when used with 32-bit registers on the i8086 target
...
git-svn-id: trunk@37613 -
2017-11-22 15:04:30 +00:00
florian
0f637434a3
* disable test on avr
...
git-svn-id: trunk@37609 -
2017-11-19 18:05:22 +00:00
florian
3352311124
* disable test on avr as it works only with table driven init/final code
...
git-svn-id: trunk@37605 -
2017-11-19 18:05:16 +00:00
nickysn
ae92973196
+ added support for the retw, retnw, retfw, retd, retnd, retfd, retq, retnq and
...
retfq x86 instructions. These are variants of the ret instruction with the
return offset size set explicitly, e.g. retfw is a 16-bit far ret (i.e. pops
a 16-bit offset and a 16-bit segment), retfd is a 32-bit far ret (pops a
32-bit offset, followed by a 16-bit segment), etc.
git-svn-id: trunk@37571 -
2017-11-10 16:53:29 +00:00
nickysn
3cbe377f40
+ added 2 tests for absolute var access to a 2-dimensional array from within inline asm
...
git-svn-id: trunk@37562 -
2017-11-06 16:47:07 +00:00
nickysn
20f905db6c
+ added i8086-only tag to test tasmabs3.pp
...
git-svn-id: trunk@37561 -
2017-11-06 16:43:13 +00:00
nickysn
24d447716e
* fixed support for access from inline asm to absolute vars, pointing to an
...
array element (previously, it would always point to the start of the array)
git-svn-id: trunk@37558 -
2017-11-06 16:06:34 +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
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
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
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
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
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
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
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
nickysn
8ba4de3885
+ test lea with non-native address sizes (16-bit on i386, 32-bit on x86_64)
...
git-svn-id: trunk@37410 -
2017-10-06 15:46:03 +00:00
svenbarth
90bd408de4
* fix for Mantis #32355 : adjust the meaning of the typehelpers modeswitch for Delphi modes in that it enables the "type helper" syntax as it is in the non-Delphi modes; extending primitive types with record helpers is now always enabled in Delphi modes
...
+ added test
git-svn-id: trunk@37225 -
2017-09-15 21:09:21 +00:00
florian
01b950f39b
+ new test
...
git-svn-id: trunk@37170 -
2017-09-10 18:07:15 +00:00
svenbarth
5c97248f85
+ also write the set's size to the RTTI as that simplifies handling in Invoke()
...
git-svn-id: trunk@37090 -
2017-08-31 19:23:12 +00:00
svenbarth
ec7a17d1e3
* extend test for interface helper by tests for "inherited"
...
git-svn-id: trunk@37061 -
2017-08-25 19:37:44 +00:00
svenbarth
6acba684d4
* class helpers: fix calling virtual methods of the extended type using inherited
...
git-svn-id: trunk@37060 -
2017-08-25 19:36:56 +00:00
svenbarth
239d0704ca
+ add support for type helpers to also extend interface types
...
git-svn-id: trunk@37023 -
2017-08-21 20:49:20 +00:00
svenbarth
50f3479f64
+ add test for the DynArray* functions (currently only DynArraySize() and DynArrayIndex() are tested)
...
git-svn-id: trunk@36943 -
2017-08-20 15:16:16 +00:00
svenbarth
b478ae031a
- remove %NORUN flag (remnant of copy pasting the test)
...
git-svn-id: trunk@36940 -
2017-08-18 15:32:28 +00:00
svenbarth
324e63b5d3
* a bit of language consolidation: "type helper" can now be used for records and classes as well
...
git-svn-id: trunk@36938 -
2017-08-18 15:29:19 +00:00
svenbarth
d8ce141e2c
* fix program name
...
git-svn-id: trunk@36935 -
2017-08-18 14:13:59 +00:00
svenbarth
677c35c083
* better fix for detecting Comp's type
...
git-svn-id: trunk@36879 -
2017-08-12 09:00:06 +00:00
svenbarth
ff927eb11a
* fix test due to WideString = UnicodeString and Comp = Extended on some platforms
...
git-svn-id: trunk@36878 -
2017-08-12 08:56:10 +00:00
svenbarth
0b02dab684
+ new Delphi-compatible intrinsic GetTypeKind() which returns the TTypeKind of a type as a constant value (and thus can be optimized away in If- and Case-statements)
...
+ added test
git-svn-id: trunk@36875 -
2017-08-11 22:12:53 +00:00
florian
567dfef9a7
+ object files for sparc64-linux to test linking with gcc
...
git-svn-id: trunk@36655 -
2017-07-06 18:02:20 +00:00
Károly Balogh
4001435454
fixed typo in previous commit
...
git-svn-id: trunk@36614 -
2017-06-29 01:21:35 +00:00
Károly Balogh
a12111e1bd
m68k: define safecall_is_cdecl on m68k too in tcalvar6 and tcalst6
...
git-svn-id: trunk@36613 -
2017-06-29 00:33:55 +00:00
Károly Balogh
50332a97bc
textthr test to be more verbose on error conditions
...
git-svn-id: trunk@36584 -
2017-06-23 06:03:26 +00:00
Károly Balogh
8a6c995b75
troundm: fixed 32bit rmNearest tests and wrong result values
...
git-svn-id: trunk@36522 -
2017-06-18 18:49:32 +00:00
marcus
d4d7778e86
+ Linux/m68k test object files
...
git-svn-id: trunk@36502 -
2017-06-14 20:33:26 +00:00
florian
f25c9c0956
* hopefully proper fix for 8 and 16 bit CPUs
...
git-svn-id: trunk@36473 -
2017-06-09 21:05:52 +00:00
florian
0fe5541459
--- Reverse-merging r36464 through r36463 into 'trnd1.pp':
...
U trnd1.pp
--- Recording mergeinfo for reverse merge of r36464 through r36463 into 'trnd1.pp':
G trnd1.pp
--- Eliding mergeinfo from 'trnd1.pp':
U trnd1.pp
git-svn-id: trunk@36472 -
2017-06-09 20:59:46 +00:00
pierre
605e6defc7
Fix compilation due to syntax error in previous commit
...
git-svn-id: trunk@36464 -
2017-06-09 12:17:04 +00:00
pierre
8c370a4e6f
Avoid Data element too large error for I8086 CPU
...
git-svn-id: trunk@36463 -
2017-06-09 06:11:54 +00:00
michael
f406d7cbef
* Fix bug #31947 : upgrade natve unicode implementation to version 9 and CLDR 30 (Patch from Inoussa)
...
git-svn-id: trunk@36407 -
2017-06-03 16:10:39 +00:00
pierre
eec40b3ed0
Fix test for go32v2, by adding explicit loading of cpall unit
...
git-svn-id: trunk@36353 -
2017-05-28 05:28:20 +00:00
svenbarth
72c595eefe
+ implement support for Insert() for dynamic arrays; the parameter that is inserted can be a dynamic or static array of the same type, an array constructor or a single element of the arrays type; all that is determined based on the second type
...
+ added test
git-svn-id: trunk@36307 -
2017-05-23 19:11:49 +00:00
Jonas Maebe
744facb7fc
* properly support accepting register parameters of assembler routines in
...
the intel assembler reader: no longer parse them as register tokens,
but as local operands that are later converted into registers. This
ensures in particular that the type of the operand is set, which is
necessary in case this operand later subscripted (as in tasm10a)
git-svn-id: trunk@36288 -
2017-05-21 20:17:15 +00:00
svenbarth
d073e07244
+ add a test to ensure that array constructors correctly handle managed types (though there might be a temp floating around for longer than one might expect)
...
git-svn-id: trunk@36243 -
2017-05-18 20:04:29 +00:00