Commit Graph

52821 Commits

Author SHA1 Message Date
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
Mattias Gaertner
fc805c4bd2 pas2js: marker for checking writeln statements
git-svn-id: trunk@38139 -
2018-02-06 13:50:18 +00:00
Mattias Gaertner
be71c22a8e pastojs: marker for checking writeln statements
git-svn-id: trunk@38138 -
2018-02-06 13:40:32 +00:00
Mattias Gaertner
0dce970bcf fcl-passrc: marker for checking writeln statements
git-svn-id: trunk@38137 -
2018-02-06 13:40:23 +00:00
Mattias Gaertner
a5f23e2b94 fcl-js: marker for checking writeln statements
git-svn-id: trunk@38136 -
2018-02-06 13:40:10 +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
2019e622e1 * fixed typed constants, initialized with Ofs(proc) in modes TP and DELPHI as well
git-svn-id: trunk@38134 -
2018-02-06 13:24:15 +00:00
nickysn
e23a13a482 * fixed seg(proc) in tp and delphi modes in all i8086 memory models
git-svn-id: trunk@38133 -
2018-02-06 13:00:08 +00:00
pierre
09995b820e Pass --NOGDBMI=1 to fpmake if NOGDBMI is set
git-svn-id: trunk@38132 -
2018-02-06 12:41:54 +00:00
pierre
1512f9a34c Add NOGDBMI fpmake option to explicitly disable GDBMI support, and add GDBMI_DEFAULT_OSes to default to GDBMI
git-svn-id: trunk@38131 -
2018-02-06 12:40:58 +00:00
Mattias Gaertner
1fa46c5597 fcl-passrc: removed writeln
git-svn-id: trunk@38130 -
2018-02-06 12:25:16 +00:00
Mattias Gaertner
5fd7c0b840 pastojs: started writing module
git-svn-id: trunk@38129 -
2018-02-06 12:16:07 +00:00
Mattias Gaertner
beee21c761 fcl-passrc: unified naming BoolSwitches
git-svn-id: trunk@38128 -
2018-02-06 12:15:35 +00:00
pierre
0cabadca2c Fix i386 compilation error for PIC code by using local stack variable
git-svn-id: trunk@38127 -
2018-02-06 10:17:18 +00:00
pierre
30e4988a4e Disable i386 assembler code if position independent code option is used
git-svn-id: trunk@38126 -
2018-02-06 09:41:40 +00:00
florian
a29f968b3b * patch by Christo Crause: generate parameter location information in att assembler mode, resolves #32915
* forbid that parameters are subscribed in assembler, if they are references and take more than one register
+ test

git-svn-id: trunk@38125 -
2018-02-05 22:11:00 +00:00
svenbarth
640480272f * adjust TThread.Synchronize so that it also works correctly if the passed in thread instance is not the instance of the current thread
+ added test

git-svn-id: trunk@38124 -
2018-02-05 21:50:00 +00:00
nickysn
899707979a - removed debug writeln, committed by accident in r37727
git-svn-id: trunk@38123 -
2018-02-05 16:39:31 +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
fe7fb70e2c * fixed the handling of Ofs(x) typed constants on i8086; previously, they would
sometimes produce a far pointer constant (depending on the memory model and
  the type of 'x'), which would accidentally work for single constants, but will
  fail for consts, which are a part of a record or an array. This fixes e.g.
  const c:array[0..1] of word=(Ofs(a),Ofs(b)); in all memory models

git-svn-id: trunk@38121 -
2018-02-05 16:12:20 +00:00
nickysn
614755d799 * fixed the handling of Seg(proc) typed constants on i8086
git-svn-id: trunk@38120 -
2018-02-05 16:07:57 +00:00
nickysn
44e29debee + introduce tai_const.Createname_near and .Createname_far on i8086
git-svn-id: trunk@38119 -
2018-02-05 16:06:12 +00:00
Mattias Gaertner
9dbe50b3fc pastojs: 0.9.3
git-svn-id: trunk@38118 -
2018-02-04 22:21:16 +00:00
Mattias Gaertner
e00e3b690b fcl-js: jswriter: double(high(int64))
git-svn-id: trunk@38117 -
2018-02-04 22:11:58 +00:00
florian
e6a6938787 * make fpu/mmx/xmm/ymm registers numbers instead of flags to have enough space for zmm/bnd/k registers
git-svn-id: trunk@38116 -
2018-02-04 20:29:41 +00:00
svenbarth
2d52536460 * only check for the method if one is given at all (otherwise everything would be skipped)
git-svn-id: trunk@38115 -
2018-02-04 20:20:32 +00:00
Mattias Gaertner
17c010b9a3 pas2js: catch jswriter exceptions
git-svn-id: trunk@38114 -
2018-02-04 18:49:06 +00:00
Mattias Gaertner
d501448c04 jswriter: fixed double greater than int64
git-svn-id: trunk@38113 -
2018-02-04 18:48:26 +00:00
Mattias Gaertner
1ddbaa946c pastojs: nicer float 1E-12
git-svn-id: trunk@38112 -
2018-02-04 16:04:46 +00:00
Mattias Gaertner
500c6c67f0 pastojs: test float constants
git-svn-id: trunk@38111 -
2018-02-04 14:22:10 +00:00
Mattias Gaertner
20424d36e5 fcl-js: jswriter: shorter floats
git-svn-id: trunk@38110 -
2018-02-04 14:21:53 +00:00
Mattias Gaertner
4b3d6a7630 fcl-passrc: resolver: nicer error messages when operator does not fit types
git-svn-id: trunk@38108 -
2018-02-04 11:56:55 +00:00
Mattias Gaertner
9d28ba69a1 pas2tojs: 0.9.2
git-svn-id: trunk@38107 -
2018-02-04 10:04:22 +00:00
Mattias Gaertner
d9a878b0da fcl-js: fixed writing - - and + +
git-svn-id: trunk@38106 -
2018-02-04 09:59:43 +00:00
marco
79ebe68e8b * fix encoding on save, patch from Ondrej, mantis #33121
git-svn-id: trunk@38105 -
2018-02-03 16:05:50 +00:00
Mattias Gaertner
7f15b109ad pastojs: 0.9.1
git-svn-id: trunk@38104 -
2018-02-03 15:47:07 +00:00
marco
97ceb89ca8 * patch from Ondrej, mantis #33118, some constructor overloaded to ease initializing encoding
git-svn-id: trunk@38103 -
2018-02-03 15:42:08 +00:00
Mattias Gaertner
4015709d6b pastojs: started module
git-svn-id: trunk@38102 -
2018-02-03 15:41:32 +00:00
Károly Balogh
ba2327f89b macos: initial cross-linker support, based on the binutils in the Retro68 GNU binutils
git-svn-id: trunk@38101 -
2018-02-02 23:01:25 +00:00
michael
94b6fe6ad3 * added O_CLOEXEC
git-svn-id: trunk@38100 -
2018-02-02 10:33:13 +00:00
Mattias Gaertner
70a2f8e1f1 fcl-passrc: fixed class local const
git-svn-id: trunk@38099 -
2018-02-01 22:00:38 +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