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
michael
f218a369d6
* Remove debug writeln
...
git-svn-id: trunk@37435 -
2017-10-09 19:13:20 +00:00
Mattias Gaertner
bc6b6fe7c9
fcl-passrc: resolver: fixed CheckClassIsClass if DestType is forward class
...
git-svn-id: trunk@37434 -
2017-10-09 11:08:31 +00:00
Mattias Gaertner
061c0b4da3
pastojs: test raise functioncall
...
git-svn-id: trunk@37433 -
2017-10-09 10:44:35 +00:00
Mattias Gaertner
40b359c1ba
fcl-passrc: resolver: raise functioncall
...
git-svn-id: trunk@37432 -
2017-10-09 10:44:15 +00:00
michael
243002023c
* Patch from Markus Beth to fix some comments
...
git-svn-id: trunk@37431 -
2017-10-09 08:31:12 +00:00
nickysn
d96558cd64
* fixed bug in assembling some 32-bit instructions on the i8086 target (e.g.
...
mov dword ptr [something], ebx)
git-svn-id: trunk@37430 -
2017-10-08 11:10:42 +00:00
svenbarth
f6a867ef04
* move handling of Concat to tinlinenode so that it can be easily extended for dynamic arrays
...
+ added test
git-svn-id: trunk@37429 -
2017-10-08 10:39:34 +00:00
svenbarth
c01b36a2fa
* the checks for no parameters are not needed for Insert() and Delete() as they take care of that themselves with an overload listing
...
git-svn-id: trunk@37428 -
2017-10-08 10:37:30 +00:00
michael
9d32f87ebb
* Added license statement
...
git-svn-id: trunk@37427 -
2017-10-08 09:39:03 +00:00
svenbarth
fe95d73fe5
* move RTTI header include above ObjPas header include
...
git-svn-id: trunk@37426 -
2017-10-08 08:44:51 +00:00
michael
43867344cd
* Demo how to create pdf from text file
...
git-svn-id: trunk@37425 -
2017-10-08 08:29:05 +00:00
svenbarth
a0fb85b690
- remove no longer needed aligntoptr() and aligntoqword() functions (all this should be handled by the typinfo unit in the future)
...
git-svn-id: trunk@37424 -
2017-10-07 22:08:05 +00:00
svenbarth
89645633a9
* get rid of calls to aligntoptr by using methods provided by TClassData and TPropInfo
...
git-svn-id: trunk@37423 -
2017-10-07 22:02:40 +00:00
svenbarth
da30391a6a
* FillChar for the properties is not needed as SetLength already initializes the array elements
...
git-svn-id: trunk@37422 -
2017-10-07 21:51:18 +00:00