Commit Graph

53012 Commits

Author SHA1 Message Date
florian
8731854165 * test code for avr assembler by Christo Crause
* fix size of val field in TOprRec for avr, resolves #32946

git-svn-id: trunk@38291 -
2018-02-19 21:23:28 +00:00
florian
90051fd7d2 * better suitable error message for out of range constants
git-svn-id: trunk@38290 -
2018-02-19 21:19:08 +00:00
nickysn
6c69e10613 + fix for using the function name (as the function's entry point address,
instead of the function result variable, which is already accessible, using
  the @Result directive) in inline asm

git-svn-id: trunk@38289 -
2018-02-19 18:04:00 +00:00
Mattias Gaertner
204ad8ff02 pastojs: copy static array
git-svn-id: trunk@38288 -
2018-02-18 22:18:35 +00:00
Mattias Gaertner
300d4f1de2 pastojs: copy static array
git-svn-id: trunk@38287 -
2018-02-18 22:06:37 +00:00
florian
4cb9ad7e01 * patch (indention adapted) by Christo Crause to check avr inline assembler, resolves also #32261
git-svn-id: trunk@38286 -
2018-02-18 21:58:04 +00:00
florian
5d17b335a6 * based on patch by Christo Crause: when setting the controller type, set also the sub architecture, resolves #33189
git-svn-id: trunk@38285 -
2018-02-18 21:19:35 +00:00
florian
5c18758b12 + based on a patch by Christo Crause create a define for the selected controller type (FPC_MCU_...), resolves #33191
git-svn-id: trunk@38284 -
2018-02-18 18:30:28 +00:00
florian
2251e87e41 * fix compilation for jvm, resolves #33195
git-svn-id: trunk@38283 -
2018-02-18 17:31:09 +00:00
florian
055a49b202 * patch by Christo Crause: the subarch type for atmega 8, 8A, 16 & 32 was incorrect. Atmega8A was also listed under the wrong subarch type in the makefile, also fixed.
* atmega8a needs to use rjmp now

git-svn-id: trunk@38282 -
2018-02-18 10:54:59 +00:00
florian
29230ebdca + added comment why the code path is not yet enabled for 16 bit
git-svn-id: trunk@38281 -
2018-02-18 09:32:54 +00:00
florian
e92422383a * compilation fixed
git-svn-id: trunk@38280 -
2018-02-18 09:29:36 +00:00
Mattias Gaertner
2eff55436d pastojs: pass static array to default arg: clone
git-svn-id: trunk@38279 -
2018-02-17 23:30:56 +00:00
florian
91514da267 * factored out TX86AsmOptimizer.PostPeepholeOptCall
+ use TX86AsmOptimizer.PostPeepholeOptCall on x86-64

git-svn-id: trunk@38278 -
2018-02-17 23:25:01 +00:00
Mattias Gaertner
f7f6712344 fcl-passrc: test write(a:3,b3:)
git-svn-id: trunk@38277 -
2018-02-17 22:37:06 +00:00
Mattias Gaertner
0362516772 pastojs: filer: read/write jsvalue
git-svn-id: trunk@38276 -
2018-02-17 22:15:41 +00:00
Mattias Gaertner
6ffa463b43 fcl-passrc: added pekSpecialize for consistency with the other expression
git-svn-id: trunk@38275 -
2018-02-17 22:14:42 +00:00
Mattias Gaertner
cbe3d555c3 fcl-passrc: comment about AddRef
git-svn-id: trunk@38274 -
2018-02-17 22:14:11 +00:00
florian
1b3627add1 + peephole optimization MovMov2Mov 5
git-svn-id: trunk@38273 -
2018-02-17 21:10:51 +00:00
florian
ad4ad82908 * prevent crash on not yet supported attribute declarations, resolves #32075
git-svn-id: trunk@38272 -
2018-02-17 19:57:50 +00:00
florian
f37bad774c * do not use 32 bit operations on 8 bit cpu in tcginnode.pass_generate_code if not needed, resolves #32071
git-svn-id: trunk@38271 -
2018-02-17 18:38:03 +00:00
florian
c3a0a4e252 + support fmrrd/fmdrr, resolves #32398
git-svn-id: trunk@38270 -
2018-02-17 16:32:11 +00:00
florian
4d63945b8d + handle also STATUS_FLOAT_MULTIPLE_FAULTS, resolves #32822
git-svn-id: trunk@38269 -
2018-02-17 16:16:16 +00:00
florian
b421ed0db1 * fixed TranslateMxcsr
+ correctly handle sse exceptions on i386, resolves #32671
+ test

git-svn-id: trunk@38268 -
2018-02-17 15:40:49 +00:00
florian
5eb59196d5 * remove sequential moves to the same register
+ test

git-svn-id: trunk@38267 -
2018-02-17 12:45:17 +00:00
florian
c1de51454c ti386shlshrnode.second_64bit:
* do not reused register
  * copy data to a new register only if really necessary

git-svn-id: trunk@38266 -
2018-02-17 12:45:15 +00:00
florian
99f1fe54af * check for registers removed which is not needed anymore
git-svn-id: trunk@38265 -
2018-02-17 12:45:13 +00:00
florian
f66a91499d * FPC uses meanwhile more mov instructions, so extended taicpu.is_same_reg_move to support them
git-svn-id: trunk@38264 -
2018-02-17 09:45:19 +00:00
florian
cd41312a8f * fixes not(<qwordbool>) on arm
* fixes not(<(q/l)wordbool>) on avr

git-svn-id: trunk@38263 -
2018-02-16 22:38:35 +00:00
florian
15bdce0a6a * new test
git-svn-id: trunk@38262 -
2018-02-16 21:21:25 +00:00
florian
2e9f6f9dfb * wrong alignment was used in r38252: alignment for a class returns the alignment of the implict pointer, but we really need the alignment of the data structure
git-svn-id: trunk@38261 -
2018-02-16 20:56:15 +00:00
Mattias Gaertner
fb2a664640 pastojs: test UTF-16 surrogate
git-svn-id: trunk@38259 -
2018-02-16 19:21:40 +00:00
Mattias Gaertner
fc8e95f8f5 fcl-passrc: fixed parent of TPasVariable.Expr, added resolver property BuiltInProcs
git-svn-id: trunk@38258 -
2018-02-16 19:20:09 +00:00
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