marco
19b47e54bb
* win32/64 stdio handles don't have fixed numbers, remove very old check
...
on handle <=4. Mantis #27221 , by Anton Rzheshevski
git-svn-id: trunk@38189 -
2018-02-10 13:53:20 +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
Mattias Gaertner
84d93e50a2
pastojs: write procedure declaration
...
git-svn-id: trunk@38187 -
2018-02-10 12:08:56 +00:00
Mattias Gaertner
c8fe0d342f
fpdoc: cleaned up obsolete okspecialize code
...
git-svn-id: trunk@38186 -
2018-02-10 11:34:49 +00:00
Mattias Gaertner
014a654955
pastojs: write property
...
git-svn-id: trunk@38185 -
2018-02-10 11:18:25 +00:00
Mattias Gaertner
2556ea5161
fcl-passrc: fixed indentation
...
git-svn-id: trunk@38184 -
2018-02-10 11:18:00 +00:00
Mattias Gaertner
715295edd6
fcl-passrc: removed not used okSpecialize
...
git-svn-id: trunk@38183 -
2018-02-10 09:54:28 +00:00
Mattias Gaertner
99e99e17f0
pastojs: write expression
...
git-svn-id: trunk@38182 -
2018-02-10 09:52:19 +00:00
Mattias Gaertner
4c2f2908fb
fcl-passrc: comments
...
git-svn-id: trunk@38181 -
2018-02-10 09:51:52 +00:00
michael
3cc93fde2c
* Add empty virtual constructor to TRouteObject
...
git-svn-id: trunk@38180 -
2018-02-10 07:31:31 +00:00
michael
92321c06e8
* Changed default debug server exe (bug ID 33140)
...
git-svn-id: trunk@38179 -
2018-02-10 00:02:05 +00:00
michael
431f44ccb0
* Make debugserver configurable
...
git-svn-id: trunk@38178 -
2018-02-10 00:00:02 +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
f0765421eb
+ also set the operand size in constants like recordtype (without addressing a
...
record field). This makes e.g.
test [di + recordtype], 1
work and use the size of recordtype to determine the operand size; recordtype
itself is evaluated to 0, so if recordtype's size is 2 bytes, the above
instruction assembles as:
test word ptr [di], 1
Ugly, but TP7 compatible.
git-svn-id: trunk@38176 -
2018-02-09 17:43:31 +00:00
nickysn
7338437dcd
* allow recordtype.recordfield constants to set the operand size; this makes things like
...
test [di + recordtype.recordfield], 1
work, as long as the size of recordfield is a valid operand size for the target
git-svn-id: trunk@38175 -
2018-02-09 17:36:54 +00:00
nickysn
f829f70186
* use the 'size' return value of BuildConstSymbolExpression to set the operand size
...
git-svn-id: trunk@38174 -
2018-02-09 17:22:39 +00:00
nickysn
384715be8d
+ add an extra output parameter 'size' to tx86intreader.BuildConstSymbolExpression,
...
which allows const symbol expressions to also have a size sometimes. Why?
Because TP7 (and perhaps Delphi) allows not specifying the size in e.g.
test [di+recordtype.recordfield], 1
in this case, the operand size (byte ptr, word ptr, dword ptr, qword ptr) is
determined by the size of recordtype.recordfield; this already happens with
variables, but in this case, this is a type.field, which is resolved to a
constant.
This commit only adds a dummy 'size' parameter, which is always initialized to
0 and not used. The actual implementation of the above will follow in separate
commits.
git-svn-id: trunk@38173 -
2018-02-09 16:52:12 +00:00
nickysn
4b339fd133
* convert the 'var' parameters of tx86intreader.BuildConstSymbolExpression to 'out'
...
git-svn-id: trunk@38172 -
2018-02-09 16:20:34 +00:00
nickysn
84611d716b
* convert the 'var' parameters of tx86intreader.BuildRecordOffsetSize to 'out'
...
git-svn-id: trunk@38171 -
2018-02-09 16:15:40 +00:00
nickysn
b49c09b84c
* convert the 'var' parameters of RAUtils.AsmSearchSym to 'out'
...
git-svn-id: trunk@38170 -
2018-02-09 15:59:18 +00:00
nickysn
4d0d143501
* converted the 'size' parameter to RAUtils.SearchType to 'out' instead of 'var'
...
git-svn-id: trunk@38169 -
2018-02-09 15:51:35 +00:00
nickysn
85c0b3854d
* converted the 'var' parameters of RAUtils.GetRecordOffsetSize to 'out',
...
because they are output only
git-svn-id: trunk@38168 -
2018-02-09 15:49:00 +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
Mattias Gaertner
16e51bb58e
pastojs: 0.9.4
...
git-svn-id: trunk@38163 -
2018-02-08 11:28:59 +00:00
Mattias Gaertner
740d141c2e
fcl-passrc: resolver: nicer illegal qualifier error messages
...
git-svn-id: trunk@38162 -
2018-02-08 11:22:18 +00:00
pierre
ed695624ab
Add clang as assembler for powerpc-darwin (powerpc64 is apparently not yet supported for MachO format)
...
git-svn-id: trunk@38161 -
2018-02-08 09:38:16 +00:00
Mattias Gaertner
948d12ea73
pastojs: read/write primitive number
...
git-svn-id: trunk@38160 -
2018-02-08 07:02:13 +00:00
Mattias Gaertner
9fb9939464
fcl-passrc: resolver: TPasIdentifierScope.GetLocalIdentifiers
...
git-svn-id: trunk@38159 -
2018-02-08 07:01:45 +00:00
pierre
33188fb5ba
Add CROSSGDB macro for cross-cpu IDEs
...
git-svn-id: trunk@38158 -
2018-02-07 22:29:24 +00:00
pierre
1ff69ee0fa
Fix compilation with SUPPORT_REMOTE macro defined
...
git-svn-id: trunk@38157 -
2018-02-07 22:28:39 +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
5f56f6ec11
* always pass a valid constsize to ConcatConstSymbol; this prevents a compiler
...
internal error on i8086, generated by 'DB xx' or 'DB OFFSET xx'
git-svn-id: trunk@38153 -
2018-02-07 16:17:05 +00:00
nickysn
a792a92cfb
* prevent the spurious warning, generated by 'DD xx' and 'DD OFFSET xx' on i8086
...
git-svn-id: trunk@38152 -
2018-02-07 16:14:05 +00:00
nickysn
11b1da0b9b
+ generate correct output on i8086 for 'DW xx', 'DW OFFSET xx', 'DD xx' and 'DD OFFSET xx'
...
git-svn-id: trunk@38151 -
2018-02-07 16:11:20 +00:00
nickysn
3ad3807b6f
+ accept the 'DB/DW/DD OFFSET xx' syntax
...
git-svn-id: trunk@38150 -
2018-02-07 16:07:59 +00:00
nickysn
3b1bd8de3f
+ actually set hasofs to true if 'offset' is encountered in BuildConstSymbolExpression
...
git-svn-id: trunk@38149 -
2018-02-07 16:03:40 +00:00
nickysn
d591e698ac
+ added parameter 'hasofs' to ConcatConstSymbol. Will be used to support 'dd xx'
...
vs 'dd offset xx' being different on i8086.
git-svn-id: trunk@38148 -
2018-02-07 15:23:48 +00:00
nickysn
70038f1c0b
+ added extra boolean out parameter 'hasofs' to
...
tx86intreader.BuildConstSymbolExpression; it returns whether the 'OFFSET'
keyword has been used in the expression. This will be used for disambiguation
between 'dd xx' and 'dd offset xx', because they should produce different
results on i8086 (the first generates a far pointer, i.e. the same as
'dw xx, SEG xx', the second - a 32-bit offset)
git-svn-id: trunk@38147 -
2018-02-07 15:09:54 +00:00
pierre
5ee7682313
Add Makefile targets for IDE targetting different CPUs
...
git-svn-id: trunk@38146 -
2018-02-06 22:40:11 +00:00
pierre
253cf4abe1
Allow compilation for JVM CPU
...
git-svn-id: trunk@38145 -
2018-02-06 22:39:17 +00:00
pierre
21a18de003
Use newly added SetExeName TTarget method to specify full name of IDE for cross-CPU
...
git-svn-id: trunk@38144 -
2018-02-06 22:14:40 +00:00
pierre
eb39402e28
* Handle FPC -oEXENAME option gracefully by adding a new field to TTarget class.
...
+ Add FExeName field for TTarget class
+ Add public SetExeName to be able to use -o Free Pascal compiler option
to specify name of produced executable.
+ Add GetBinFileBase method to get base of executable or library name.
git-svn-id: trunk@38143 -
2018-02-06 22:13:17 +00:00
florian
46fe2d486c
* forgotten comment
...
git-svn-id: trunk@38142 -
2018-02-06 21:38:51 +00:00
nickysn
629be9cee1
+ add a 'constsize' parameter to ConcatConstSymbol, so it can be used to
...
distinguish between e.g. 16-bit and 32-bit offsets on i8086
git-svn-id: trunk@38141 -
2018-02-06 16:22:41 +00:00
Mattias Gaertner
f3dbb09e21
pastojs: no warning on $M
...
git-svn-id: trunk@38140 -
2018-02-06 14:22:14 +00:00