Commit Graph

52879 Commits

Author SHA1 Message Date
Mattias Gaertner
232195ee95 fcl-json: fixed UseUTF8=false
git-svn-id: trunk@38257 -
2018-02-16 19:18:35 +00:00
Mattias Gaertner
ae3a735e51 fcl-json: faster read /u
git-svn-id: trunk@38256 -
2018-02-16 19:17:55 +00:00
Mattias Gaertner
f3c7642384 fcl-json: fixed conversion UTF-8 to UTF-8
git-svn-id: trunk@38255 -
2018-02-16 19:16:59 +00:00
Mattias Gaertner
f6d764ae67 fcl-json: fixed comments, less hints
git-svn-id: trunk@38254 -
2018-02-16 19:16:02 +00:00
Mattias Gaertner
393991b26b fcl-json: clean up
git-svn-id: trunk@38253 -
2018-02-16 19:14:05 +00:00
florian
a21f462a93 * references of fields for types using indirect addressing get proper alignment
git-svn-id: trunk@38252 -
2018-02-16 18:45:54 +00:00
marco
9a136836fd * elf section alignment, patch by Florian, mantis #32900
M    ogelf.pas

git-svn-id: trunk@38251 -
2018-02-16 18:01:29 +00:00
marco
14b14f3bda * fixes sysctl also with 3.0.4 as starting compiler.
M    rtl/bsd/sysctl.pp
M    compiler/systems.pas

git-svn-id: trunk@38250 -
2018-02-16 17:58:20 +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
f3391f81a5 + introduce a new method tparamanager.asm_result_var(), which determines whether
a pure assembler routine should be allocated a 'result' variable

git-svn-id: trunk@38245 -
2018-02-15 17:41:07 +00:00
pierre
040ce05360 Fix error in condition to compile IDE package for cross-compilation, should solve bug report 33174
git-svn-id: trunk@38244 -
2018-02-15 13:12:20 +00:00
Mattias Gaertner
a86cfa9aa0 fcl-passrc: resolver: fixed array[enum..enum]
git-svn-id: trunk@38243 -
2018-02-14 22:51:11 +00:00
Mattias Gaertner
c8d163463a pastojs: filer: write scopes
git-svn-id: trunk@38242 -
2018-02-14 22:24:18 +00:00
florian
311bcd4c08 * do not destroy flags while clearing R1, resolves #33170
git-svn-id: trunk@38241 -
2018-02-14 19:28:33 +00:00
nickysn
b2665b43aa - removed darwin-i386 stuff from i8086's cpupara
git-svn-id: trunk@38240 -
2018-02-14 15:47:03 +00:00
pierre
22c4c349a6 force dwarf-2 debug format if used assembler does not support stabs (as indicated by new af_no_stabs flag)
git-svn-id: trunk@38239 -
2018-02-14 15:19:12 +00:00
pierre
55289c13e4 Use af_no_stabs for clang assembler which does not support stabs debug format
git-svn-id: trunk@38238 -
2018-02-14 15:09:35 +00:00
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