Commit Graph

55018 Commits

Author SHA1 Message Date
Jonas Maebe
1cc995b471 * use ccallnode.createintern() instead of
ccallcnode.createinternfromunit('SYSTEM')

git-svn-id: trunk@40603 -
2018-12-21 20:57:16 +00:00
Jonas Maebe
c55ffa8cc7 * fixed <> comparisons with NaNs (use LLVM "unordered" comparison: succeed
if either operand is a NaN)

git-svn-id: trunk@40602 -
2018-12-21 20:57:12 +00:00
pierre
430ec7bbe4 Try to ix compilation failures in units/fpcunit directory
git-svn-id: trunk@40601 -
2018-12-20 22:39:40 +00:00
pierre
e9e5b05caa Remove Unicode $180E (Mongolian Vowel Separator), as it is not anymore a whitespace character
git-svn-id: trunk@40600 -
2018-12-20 21:30:44 +00:00
Jonas Maebe
3b4011760a * cleaned up blockaddress instruction (add type rather than hardcoding it
in the assembler writer)
  * fixed taking the address of a label in a typed const for llvm (fixes
    tbs/tb0468a)

git-svn-id: trunk@40599 -
2018-12-20 21:22:44 +00:00
Jonas Maebe
c6bb85eae9 * support for compiling the objects unit methods that expect local procedure/
function pointers using {$modeswitch nestedprocvars} functionality, activate
    this for LLVM and also activate that modeswitch for a test that uses this
   o also convert the IDE units to use this functionality
   o requires extra typecasts because implicit type conversions from
     procvar(p: psometype) to procvar(p: pointer) are not supported; on the
     plus side, even those type conversions are checked for validity
   o note: requires {$modeswitch nestedprocvars} in all programs/units
     that rely on this functionality

git-svn-id: trunk@40598 -
2018-12-20 21:22:40 +00:00
Mattias Gaertner
e108d9c5eb pastojs: concat(string1,string2,...)
git-svn-id: trunk@40597 -
2018-12-19 23:18:04 +00:00
Mattias Gaertner
ee61fc2102 fcl-passrc: resolver: concat(string1,string2,...)
git-svn-id: trunk@40596 -
2018-12-19 23:17:52 +00:00
Mattias Gaertner
36f3508614 pastojs: jsvalue:=anonymousfunction
git-svn-id: trunk@40594 -
2018-12-19 21:49:49 +00:00
Mattias Gaertner
b7c1732039 pastojs: less fpc hints, test for conflict of external class and property
git-svn-id: trunk@40593 -
2018-12-18 22:21:13 +00:00
Mattias Gaertner
601c6476ea fcl-js: less hints
git-svn-id: trunk@40592 -
2018-12-18 22:20:12 +00:00
Mattias Gaertner
0043b747c7 fcl-passrc: TPasClassType and TPasRecordType now have common ancestor, resolver: started advancedrecord methods
git-svn-id: trunk@40591 -
2018-12-18 22:19:43 +00:00
yury
883f832263 * Added the tsvn:projectlanguage property to force English spell checker in TortoiseSVN.
git-svn-id: trunk@40587 -
2018-12-18 13:26:35 +00:00
yury
92e579a294 * Improved the comment.
git-svn-id: trunk@40586 -
2018-12-18 13:23:52 +00:00
yury
fdcb12d9f6 * ARM: Remove preindexing and postindexing for LDR in some cases when removing superfluous MOVs. It fixes crash when calling Format() if rtl is compiled with -O3.
git-svn-id: trunk@40585 -
2018-12-18 13:20:40 +00:00
Mattias Gaertner
89e66cd2fc pastojs: fixed tests
git-svn-id: trunk@40584 -
2018-12-17 11:45:35 +00:00
Mattias Gaertner
65fdc04dc3 fcl-passrc: fixed parsing comment in $IFDEF, $IFNDEF, issue #34711
git-svn-id: trunk@40582 -
2018-12-17 08:40:35 +00:00
Mattias Gaertner
eee0074eb4 pas2js: rtl.js set version
git-svn-id: trunk@40580 -
2018-12-16 22:39:31 +00:00
Jonas Maebe
7cc7268635 * fixed dynamic array constants for non-Darwin LLVM platforms
git-svn-id: trunk@40578 -
2018-12-16 20:59:58 +00:00
Jonas Maebe
2330164ee2 + internal sqrt support for LLVM (faster on all platforms, necessary on
platforms that don't have RTL support for it, as the the generic
    fpc_sqrt_real just calls runerror)

git-svn-id: trunk@40575 -
2018-12-16 20:44:41 +00:00
Jonas Maebe
8845f4d1ce * fixed type consistency in handler for array parameters on platforms where
these have to be passed on the caller side (i.e., AArch64)

git-svn-id: trunk@40574 -
2018-12-16 20:44:38 +00:00
Jonas Maebe
ac8411f3cf * pass dynamic array parameters of cdecl routines by value on AArch64
(like on onther platforms)
   o it was passed by reference as a side effect of the fact arrays in C are
     pointers, but a dynamic array already is a pointer

git-svn-id: trunk@40573 -
2018-12-16 20:44:35 +00:00
Jonas Maebe
e69b4d2d9a * replaced some stray cpointerdef.create() calls with cpointerdef.getreusable()
git-svn-id: trunk@40572 -
2018-12-16 20:44:31 +00:00
Jonas Maebe
95171a1e22 * initialise cgpara with valid data for the C-style "array of const" para
(necessary for the LLVM backend)

git-svn-id: trunk@40571 -
2018-12-16 20:44:28 +00:00
Jonas Maebe
820d2f7135 * support OS_32/OS_64 in AArch64 cgsize2subreg() for MM registers (can happen
for records with floating point fields with the LLVM code generator)

git-svn-id: trunk@40570 -
2018-12-16 20:44:24 +00:00
Jonas Maebe
93e39fb0cd * only coerce the type of the leftover bytes of a record if the location
size doesn't match the number of remaining bytes
   o prevents a second "single" field of a record getting interpreted as a
     "cardinal"

git-svn-id: trunk@40569 -
2018-12-16 20:44:21 +00:00
Jonas Maebe
ff002e2664 * set paralocations correctly for LLVM/AArch (must be register-type instead
of parameter-type based)

git-svn-id: trunk@40568 -
2018-12-16 20:44:18 +00:00
Jonas Maebe
6b58185bda * fixed shifval for big endian (bits instead of bytes)
git-svn-id: trunk@40567 -
2018-12-16 20:44:15 +00:00
Jonas Maebe
6e453a1477 * fixed paraloc def when changing the size to OS_32
git-svn-id: trunk@40566 -
2018-12-16 20:44:12 +00:00
Jonas Maebe
97bc58d248 * fixed bug that caused the "sret" argument attribute to never be used (and
a guaranteed internalerror on AArch64/llvm)

git-svn-id: trunk@40565 -
2018-12-16 20:44:09 +00:00
Mattias Gaertner
2e98c7d41b pas2js: set trunk version to 1.3.1
git-svn-id: trunk@40562 -
2018-12-16 19:52:16 +00:00
marco
8ef868591d * deprecate .commandline property setter setcommandline too.
git-svn-id: trunk@40561 -
2018-12-16 12:15:23 +00:00
pierre
0846456ce4 * Skip all surrogate values in for loops from low(word) to high(word)
git-svn-id: trunk@40560 -
2018-12-15 21:06:01 +00:00
Mattias Gaertner
f7661c6fd4 pastojs: added -iJ
git-svn-id: trunk@40559 -
2018-12-15 13:38:23 +00:00
Mattias Gaertner
dbdf8e14df pastojs: added -iJ
git-svn-id: trunk@40558 -
2018-12-15 13:32:59 +00:00
Mattias Gaertner
2972be4ddd pastojs: fixed compile under pas2js
git-svn-id: trunk@40555 -
2018-12-15 11:32:28 +00:00
Mattias Gaertner
38a511a2f0 pas2js: cleaned up pcu
git-svn-id: trunk@40554 -
2018-12-15 11:11:24 +00:00
Mattias Gaertner
95c4736785 pas2js: added option -JoRTL-x=y, added shared converter options
git-svn-id: trunk@40553 -
2018-12-15 11:04:50 +00:00
yury
67f10be246 * Use the "doc" subdir instead of "docs" for non-unix targets. The "doc" name is used in classic makefiles and we've got 2 sub-dirs "doc" and "docs" for non-unix targets. This commit fixes that.
git-svn-id: trunk@40552 -
2018-12-14 19:17:11 +00:00
Mattias Gaertner
cea0060507 pastojs: procedure val(const string; out enum; out int)
git-svn-id: trunk@40551 -
2018-12-14 15:36:12 +00:00
Mattias Gaertner
f15a8b90f1 pastojs: procedure val(const string; out enum; out int)
git-svn-id: trunk@40550 -
2018-12-14 14:57:58 +00:00
Mattias Gaertner
ce1c2487ec fcl-passrc: resolver: procedure val(const string; out enum|int|bool|float; out int)
git-svn-id: trunk@40549 -
2018-12-14 14:57:22 +00:00
michael
d49510cc8c * Fix bug #0034499
git-svn-id: trunk@40548 -
2018-12-14 10:00:44 +00:00
pierre
0fafe640c5 Change tstringlistexchange test code to give different error values and check that sort is done properly instead of requiring a given number of exchanges
git-svn-id: trunk@40547 -
2018-12-14 09:51:45 +00:00
pierre
bf7af550c8 Add mode objfpc to units/character/tutf32convert test
git-svn-id: trunk@40546 -
2018-12-14 09:32:01 +00:00
nickysn
99528f9774 + added all the missing test/units/* subdirectories: classes character dateutil fpcunit softfpu variants
git-svn-id: trunk@40538 -
2018-12-13 16:00:23 +00:00
pierre
f8563772c5 Always accept empty string as meaning zero is TryRomanToInt, fixes intermittent errors in tromantoint test
git-svn-id: trunk@40537 -
2018-12-13 10:21:58 +00:00
yury
f7efca92ec * android: Disabled usage of the "pselect6" and "ppoll" syscalls for arm-android. These syscalls are not available on old Android versions (2.3 or older).
git-svn-id: trunk@40536 -
2018-12-12 14:04:57 +00:00
yury
a2a59bcb7d * android: Regenerated syscalls.
git-svn-id: trunk@40535 -
2018-12-12 13:47:40 +00:00
Mattias Gaertner
3053d554a8 pastojs: mode delphi assign ano proc
git-svn-id: trunk@40534 -
2018-12-12 12:25:05 +00:00