Commit Graph

54626 Commits

Author SHA1 Message Date
Mattias Gaertner
4dfb738130 pastojs: modeswitch OmitRTTI
git-svn-id: trunk@40343 -
2018-11-17 21:31:45 +00:00
Mattias Gaertner
1f061d0517 fcl-passrc: added modeswitch OmitRTTI: treat class section published as public and typeinfo() does not work on symbols declared with this switch
git-svn-id: trunk@40342 -
2018-11-17 21:31:12 +00:00
florian
cefb38b605 * better alignment of while loop heads
git-svn-id: trunk@40340 -
2018-11-17 15:08:24 +00:00
florian
ae8304f657 * set nf_write flag properly for vec. nodes of types with implicit dereferencing
git-svn-id: trunk@40339 -
2018-11-17 15:08:23 +00:00
florian
08d6ca7260 * better alignment on 386-linux
git-svn-id: trunk@40338 -
2018-11-17 15:08:22 +00:00
florian
6dbde11f5a * three operand shl for shifting by 2, 4 or 8 can be simulated by lea
git-svn-id: trunk@40337 -
2018-11-17 15:08:22 +00:00
pierre
bee9421f2a Change local variables offsetdec and extraoffset type to ASizeInt
git-svn-id: trunk@40326 -
2018-11-16 13:28:26 +00:00
pierre
23570bed33 Use same parameter type for update_reference_offset override
git-svn-id: trunk@40325 -
2018-11-16 13:26:56 +00:00
pierre
2761448f44 * Disable range check for m68k/aoptcpu unit
* Add missing change of var parameter p to next instruction
    in TryToOptimizeMove method after instruction removal.

git-svn-id: trunk@40324 -
2018-11-16 10:27:42 +00:00
pierre
11851d274c Fix riscv32 compilation error introduced in last commit
git-svn-id: trunk@40323 -
2018-11-16 10:24:27 +00:00
pierre
aebc8527ef Also disable range checking in arm/aoptcpu unit
git-svn-id: trunk@40322 -
2018-11-15 22:01:25 +00:00
florian
095bd6da7d * do not re-used gottpoff symbols as they are PC-relative
git-svn-id: trunk@40321 -
2018-11-15 20:07:56 +00:00
pierre
53a27fe7b3 Disable range check in m68k:tiscv32 and riscv64 cgcpu units
git-svn-id: trunk@40319 -
2018-11-15 16:58:40 +00:00
pierre
7c92412c74 Avoid overflow error in riscv code generator
git-svn-id: trunk@40318 -
2018-11-15 16:57:57 +00:00
florian
6a6ea6729f * i8086 compiler fixed, resolves #34552
git-svn-id: trunk@40316 -
2018-11-14 18:05:35 +00:00
pierre
4657f45e74 * Change first parameter type of function is_continuous_maks to aword type.
Add typecasts where needed to allow for successful compilation of arm-linux target
    with -CriotR options when building the compiler.

git-svn-id: trunk@40314 -
2018-11-14 13:13:19 +00:00
pierre
cacd8f28eb Try to avoid expectloc not set after first pass error for call node
git-svn-id: trunk@40309 -
2018-11-13 15:51:32 +00:00
pierre
122fd55564 + Add TEST_PARALLEL, adds -L option to DOTESTOPT
git-svn-id: trunk@40308 -
2018-11-13 15:12:22 +00:00
pierre
b4315f0f4f + Introduce PPC_SUFFIXES, new make variable that lists all ppc suffixes
for all different CPUs supported.
  * Use PPC_SUFFIXES in execlean and CPU_clean targets.
  * Also delete CPU/bin subbirectory.

git-svn-id: trunk@40307 -
2018-11-13 15:10:21 +00:00
Mattias Gaertner
2b36f8d177 pastojs: catch ECompilerTerminate while parsing params
git-svn-id: trunk@40305 -
2018-11-13 14:56:24 +00:00
Mattias Gaertner
67b3fd7e37 fcl-passrc: less hints
git-svn-id: trunk@40304 -
2018-11-13 14:29:01 +00:00
Mattias Gaertner
a67f016603 pastojs: fixed str(currency)
git-svn-id: trunk@40302 -
2018-11-13 14:03:32 +00:00
pierre
04debba9de Fix arm-android compilation by prepending syscall_nr_ prefix also to __ARM_NR_XXX arm specific linux syscalls
git-svn-id: trunk@40300 -
2018-11-13 11:11:49 +00:00
michael
9b39033ed4 * Fix bug ID #34535, small optimization
git-svn-id: trunk@40292 -
2018-11-12 12:28:31 +00:00
Mattias Gaertner
895139f332 pastojs: fixed name clash published property and external
git-svn-id: trunk@40290 -
2018-11-12 10:51:52 +00:00
svenbarth
251dfb6776 * don't allow constants of the record type that is currently being parsed; this would fail as soon as another field is added after the constant declaration
+ added tests
Note: unlike what bug report 27880 suggests Delphi also does *NOT* allow this (at least a current Delphi Tokyo) and fails with a "type is not completely defined" error, so this test belongs into the "failure" category

git-svn-id: trunk@40285 -
2018-11-11 22:08:29 +00:00
svenbarth
446f89719c * move checking whether a field's type is valid for the field to a separate function
git-svn-id: trunk@40284 -
2018-11-11 22:08:24 +00:00
florian
c45806c84f * made test more verbose
git-svn-id: trunk@40283 -
2018-11-11 17:32:21 +00:00
florian
e8ebc00b3b * redundant code removed, work is meanwhile done by aasmcpu.optimize_ref
git-svn-id: trunk@40282 -
2018-11-11 17:32:21 +00:00
florian
72416edcc4 + support for tlsm_general on i386-linux
git-svn-id: trunk@40281 -
2018-11-11 17:32:20 +00:00
Mattias Gaertner
6d78637441 pastojs: parse double quotes in asm-blocks
git-svn-id: trunk@40279 -
2018-11-09 10:23:55 +00:00
pierre
c3914c1f38 Downgrade EXTDEBUG warning to note about zero size temp, as it is used for empty sets
git-svn-id: trunk@40278 -
2018-11-08 20:19:54 +00:00
pierre
796db4cef5 Implement mark_write override for tinilinenode
git-svn-id: trunk@40277 -
2018-11-08 20:18:30 +00:00
florian
a40335de34 * non-linux arm targets fixed
git-svn-id: trunk@40276 -
2018-11-08 19:57:30 +00:00
florian
e157939b41 * compilation on x86-64 and i8086 fixed
git-svn-id: trunk@40275 -
2018-11-08 18:45:16 +00:00
florian
4d2d26c318 * define renamed into tls_threadvars
git-svn-id: trunk@40274 -
2018-11-07 22:03:04 +00:00
florian
95acf20544 * address output updated
git-svn-id: trunk@40273 -
2018-11-07 22:03:03 +00:00
florian
063415fa72 + i386-linux support for tls-based threadvars
git-svn-id: trunk@40272 -
2018-11-07 22:03:02 +00:00
florian
0d50a63c7d + tsettings.tlsmodel
git-svn-id: trunk@40271 -
2018-11-07 22:03:01 +00:00
florian
9c041afc7c * disable generic threadvar handling if section thread vars are available
git-svn-id: trunk@40270 -
2018-11-07 22:03:01 +00:00
florian
c37c485eb7 + check if initialization/finalization code uses implicitly thread vars
git-svn-id: trunk@40269 -
2018-11-07 22:03:00 +00:00
florian
e949276d9d * basic implementation for pure pascal programs to allocate tls space
git-svn-id: trunk@40268 -
2018-11-07 22:02:59 +00:00
florian
9f16c34329 + initial work for tls-based threadvar support on arm-linux
git-svn-id: trunk@40267 -
2018-11-07 22:02:58 +00:00
Mattias Gaertner
aca753d6e8 fcl-passrc: fixed parent of generic params
git-svn-id: trunk@40263 -
2018-11-07 17:57:51 +00:00
Mattias Gaertner
799adf1d99 pastojs: error on method in record, bug #34518
git-svn-id: trunk@40259 -
2018-11-07 17:47:11 +00:00
Mattias Gaertner
e31a7e9b73 pas2js: clean up
git-svn-id: trunk@40258 -
2018-11-07 17:46:45 +00:00
yury
5c5dc2ed50 * Changed verbosity of ""???" not yet supported inside inline procedure/function" to note to be consistent with note "Call to subroutine "?" marked as inline is not inlined".
git-svn-id: trunk@40255 -
2018-11-07 12:57:23 +00:00
yury
dd60397165 + Added the pio_inline_not_possible flag to timplprocoption. It is set if a function can't be inline (contains an assembler block, etc). When calling such functions, no note "Call to subroutine "?" marked as inline is not inlined" is emitted.
git-svn-id: trunk@40254 -
2018-11-07 12:20:30 +00:00
Mattias Gaertner
6bb752c637 pas2js: default pas2js.cfg unitpath uses $CfgDir/../../../packages/*
git-svn-id: trunk@40245 -
2018-11-06 17:00:28 +00:00
Mattias Gaertner
e89223e56e pas2js: clean up
git-svn-id: trunk@40243 -
2018-11-06 16:54:56 +00:00