pierre
cbe09c08bc
Add new assmebler flag: af_no_stabs for assemblers that do not support stabs debug format
...
git-svn-id: trunk@38237 -
2018-02-14 15:08:29 +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
florian
0baf3f69d8
* modified patch of Sergey Shishmintzev: add a __text_start symbol if an external linker is used, resolves #26190
...
git-svn-id: trunk@38235 -
2018-02-13 21:16:58 +00:00
svenbarth
c87cee09fd
* use the type information *parameter* not the unitialized parameter
...
git-svn-id: trunk@38234 -
2018-02-13 19:26:21 +00:00
florian
291ee4b562
* clear r1 (and save/restore) in interrupt routines on avr
...
+ generate no entry/exit code except ret for empty subroutines
git-svn-id: trunk@38233 -
2018-02-13 17:47:23 +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
Mattias Gaertner
715a725f57
pastojs: version 0.9.5
...
git-svn-id: trunk@38227 -
2018-02-12 14:59:34 +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
Mattias Gaertner
4ea3bcb5ff
pastojs: write VisbilityContext
...
git-svn-id: trunk@38225 -
2018-02-12 14:13:23 +00:00
Mattias Gaertner
2ae54c3c00
fcl-passrc: resolver: check duplicate class forwards
...
git-svn-id: trunk@38224 -
2018-02-12 13:50:12 +00:00
Mattias Gaertner
032c8f99a6
pastojs: override class default property
...
git-svn-id: trunk@38223 -
2018-02-12 12:02:56 +00:00
Mattias Gaertner
5116655c11
fcl-passrc: resolver: override class default property
...
git-svn-id: trunk@38222 -
2018-02-12 12:02:46 +00:00
Mattias Gaertner
57c79acf3f
fcl-passrc: made TPasProperty.Args readonly
...
git-svn-id: trunk@38221 -
2018-02-12 12:01:39 +00:00
Károly Balogh
c1f368f8d9
rtl: removed the long obsolete README section mentioning FPC 1.0
...
git-svn-id: trunk@38220 -
2018-02-12 10:58:54 +00:00
pierre
019a8b66dc
Transform internal error into error message for seg(procvar) with is not usable for some i8086 memory models
...
git-svn-id: trunk@38219 -
2018-02-12 10:07:35 +00:00
pierre
c3ffd778c0
Add new message for seg(procvar) with is not usable for some i8086 memory models
...
git-svn-id: trunk@38218 -
2018-02-12 10:06:48 +00:00
Mattias Gaertner
83cfd30768
fcl-passrc: resolver: check duplicate method implementation
...
git-svn-id: trunk@38217 -
2018-02-12 08:49:59 +00:00
florian
6400d612e8
+ seg(<procvardef>) returns the segment stored in the procedure variable
...
git-svn-id: trunk@38216 -
2018-02-11 22:26:01 +00:00
Mattias Gaertner
e5b376f3be
fcl-passrc: resolver: check class of method in same unit
...
git-svn-id: trunk@38215 -
2018-02-11 22:09:59 +00:00
Mattias Gaertner
30d80beb7e
pastojs: write proctype
...
git-svn-id: trunk@38214 -
2018-02-11 21:50:51 +00:00
Mattias Gaertner
db4db36793
fcl-passrc: fixed copyright, added TPasProcedureClass
...
git-svn-id: trunk@38213 -
2018-02-11 21:50:10 +00:00
florian
6726150147
+ embedded uses also FPC_STDOUT_TRUE_ALIAS to save memory
...
git-svn-id: trunk@38212 -
2018-02-11 19:06:46 +00:00
florian
efef9125b5
* another compilation fix
...
git-svn-id: trunk@38211 -
2018-02-11 18:39:49 +00:00
Károly Balogh
66d180187a
m68k: fix build after r38206
...
git-svn-id: trunk@38210 -
2018-02-11 18:20:51 +00:00
florian
112373a124
* fix passing floats on unix after vectorcall patch
...
git-svn-id: trunk@38209 -
2018-02-11 17:50:43 +00:00
florian
381cf78ff1
* there is no vmovq for mmx registers
...
git-svn-id: trunk@38208 -
2018-02-11 17:50:41 +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
florian
c63c3e99c7
* load environment on msdos if parameters are loaded, so paramstr(0) is loaded as well
...
git-svn-id: trunk@38205 -
2018-02-11 17:49:17 +00:00
florian
092223f400
* comment links to test now
...
git-svn-id: trunk@38204 -
2018-02-11 16:38:33 +00:00
florian
e5ebc65cce
* if si and di are allocated on i8086, using an index in references is not possible anymore
...
git-svn-id: trunk@38203 -
2018-02-11 15:54:37 +00:00
florian
22df9cde3e
* halt and runerror never return
...
git-svn-id: trunk@38202 -
2018-02-11 10:21:16 +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
ae6a4030c3
+ support evaluation of recordtype*constant in the intel syntax inline asm.
...
The recordtype itself is evaluated to 0. This makes e.g.
'test [di+recordtype*5], 1' work. This is TP7 compatible.
git-svn-id: trunk@38200 -
2018-02-11 03:42:45 +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
Károly Balogh
3d16d38f10
atari: enable FPC_STDOUT_TRUE_ALIAS and groom some of the other defines
...
git-svn-id: trunk@38198 -
2018-02-10 23:01:54 +00:00
Károly Balogh
444d032607
msdos: enable FPC_STDOUT_TRUE_ALIAS by default
...
git-svn-id: trunk@38197 -
2018-02-10 22:46:48 +00:00
Károly Balogh
07513150e0
* make StdOut/StdErr optionally a true alias of Output/ErrOutput, so they share the same underlying TextRec. this reduces data segment usage on small systems by more than 1K.
...
git-svn-id: trunk@38196 -
2018-02-10 22:45:51 +00:00
florian
980c689d37
+ Peephole optimizer MovPush2Push
...
git-svn-id: trunk@38195 -
2018-02-10 22:20:04 +00:00
florian
961f7fd25b
* msdos target uses already non 8.3 file names, so it makes no sense to get in trouble by using rtlconst instead of rtlconsts
...
git-svn-id: trunk@38194 -
2018-02-10 22:20:02 +00:00
florian
37c987c3ea
* dependencies fixed
...
git-svn-id: trunk@38193 -
2018-02-10 22:20:00 +00:00
florian
08ebf36d00
* fix test for i8086
...
git-svn-id: trunk@38192 -
2018-02-10 22:19:59 +00:00
florian
09af451c2e
* try to get rid at least of one mov when looking for les/lds optimization
...
+ debug messages
git-svn-id: trunk@38191 -
2018-02-10 22:19:57 +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
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