Commit Graph

57711 Commits

Author SHA1 Message Date
Jonas Maebe
e1d9be897a * fixed (harmless) wrong typecast
git-svn-id: trunk@43834 -
2020-01-01 19:19:15 +00:00
Jonas Maebe
044d946782 * fixed missing sign extension when adding a signed integer variable with
size < sizeof(pointer) to a pointer for LLVM (fixes tfmtbcd)

git-svn-id: trunk@43833 -
2020-01-01 19:19:12 +00:00
Jonas Maebe
ec0d98156c * use maytrap instead of strict FP exception behaviour in LLVM, so constant
propagation is still allowed

git-svn-id: trunk@43832 -
2020-01-01 19:19:08 +00:00
joost
76ab36b41d * Fixed generation of documentation
git-svn-id: trunk@43831 -
2020-01-01 17:23:28 +00:00
joost
171142a724 * Make Win32 SEH support enabled by default. If necessary to disable, compiler should be cycled with OPT=-dDISABLE_WIN32_SEH. Mantis #12974.
git-svn-id: trunk@43830 -
2020-01-01 14:43:57 +00:00
Jonas Maebe
1f5efe2a95 * support for constrained sitofp/uitofp with (the upcoming) LLVM 10.0
(fixes most of test/units/math/troundm, although there's still an LLVM
     optimizer/code generation bug that breaks some qword -> double
     conversions)

git-svn-id: trunk@43829 -
2019-12-31 18:05:54 +00:00
Jonas Maebe
9b53ed53e3 * the llvm.experimental.constrained.fpext intrinsic doesn't have a rounding
mode parameter

git-svn-id: trunk@43828 -
2019-12-31 18:05:50 +00:00
marcus
04a1236ec6 Amiga: CRT Window support, more converted keys
git-svn-id: trunk@43827 -
2019-12-31 17:25:50 +00:00
marco
defabdc80d * bug #36497, minor stylistic cleanup from Cyrax that replaces some pwidechar with punicodechar
git-svn-id: trunk@43826 -
2019-12-31 16:35:32 +00:00
florian
d409548842 -- Zusammenführen von r31198 in ».«:
C    compiler/arm/aasmcpu.pas
U    compiler/arm/aoptcpu.pas
-- Aufzeichnung der Informationen für Zusammenführung von r31198 in ».«:
 U   .

git-svn-id: trunk@43825 -
2019-12-31 13:28:03 +00:00
florian
f6c16323fa * unified loadnf_load_self_pointer into loadnf_load_addr
+ var parameters are now allowed when doing tail recursion optimziation, resolves #32811

git-svn-id: trunk@43824 -
2019-12-30 22:43:10 +00:00
svenbarth
3e7dc25667 * fix for Mantis #36496: correctly handle the function result alias variable inside generic functions
+ added tests

git-svn-id: trunk@43823 -
2019-12-30 21:35:26 +00:00
Jonas Maebe
6fc79c7ed0 * set default target iOS/iPhoneSim version to 9.0 so we no longer depend
on crt.o existing, which is not shipped with the current SDKs anymore

git-svn-id: trunk@43822 -
2019-12-30 16:36:57 +00:00
Jonas Maebe
3885ce98ac * fix LLVM code generator after r43808
o share the high/length code for LLVM rather than duplicating it, since
      LLVM will optimize away the minor inefficiencies
    o removed temp reference in the old code, as it was useless (it doesn't
      prevent spilling to get to an SSA representation since the same
      register is written at least twice in all cases)

git-svn-id: trunk@43821 -
2019-12-30 15:05:17 +00:00
Jonas Maebe
a6a17efa42 * use LLVM constrained fpext/fptrunc intrinsics when fastmath is not enabled
for accurate exception behaviour

git-svn-id: trunk@43820 -
2019-12-30 15:05:13 +00:00
Jonas Maebe
797077855e * use constrained LLVM fp intrinsics for add/sub/mul/slash/fma/sqrt
operations when fastmath is not enabled

git-svn-id: trunk@43819 -
2019-12-30 15:05:09 +00:00
Jonas Maebe
b355ba3d39 * record whether a function uses fastmath, and define the function as
strictfp if it doesn't (so LLVM doesn't perform transformations that can
    change the fp/exception behaviour)

git-svn-id: trunk@43818 -
2019-12-30 15:05:06 +00:00
Jonas Maebe
67dbd0cdb3 * support nf_internal to ignore currency conversion adjustments also on
platforms that implement currency using a floating point type

git-svn-id: trunk@43817 -
2019-12-30 15:05:02 +00:00
Jonas Maebe
9bd33f7a45 + support for LLVM metadata constant string parameters
o they are implemented as a new metadata register class, whereby the
     subregister indicates the metadata type (currently always a string)
     and the superregister is an index in the metadata array (which
     contains the strings). LLVM metadata can only be passed as parameters
     to intrinsics in bitcode, so moves of metadata into other registers
     triggers internal errors and when moving them into parameters, we
     replace the parameter's register with the metadata register (and look
     up the corresponding string when writing out the bitcode)

git-svn-id: trunk@43816 -
2019-12-30 15:04:57 +00:00
marcus
9b67c65749 AROS, OS4, MorphOS: Console, ConUnit added, Crt first Version
git-svn-id: trunk@43815 -
2019-12-30 14:32:32 +00:00
marcus
643c1ea7e0 Amiga: First Version of crt for Amiga
git-svn-id: trunk@43814 -
2019-12-30 13:14:10 +00:00
Mattias Gaertner
366ee5e835 pastojs: added libpas2js hook SetPas2JSUnitAliasCallBack
git-svn-id: trunk@43813 -
2019-12-30 11:00:58 +00:00
marcus
25c11a94c4 Amunits: console and conunit, fixed alignment and fixes from 3.9 SDK
git-svn-id: trunk@43812 -
2019-12-30 10:45:31 +00:00
Mattias Gaertner
4dc84b2a78 pastojs: added libpas2js hook SetPas2JSUnitAliasCallBack
git-svn-id: trunk@43811 -
2019-12-30 08:53:27 +00:00
Mattias Gaertner
a3a67b13d8 fcl-passrc: allow using unit twice with different alias
git-svn-id: trunk@43810 -
2019-12-29 21:34:03 +00:00
Mattias Gaertner
9a496c2470 pastojs: pcu srcmap
git-svn-id: trunk@43809 -
2019-12-29 16:10:33 +00:00
florian
f7a052f884 + inline high(<dyn. array>), resolves #28536
git-svn-id: trunk@43808 -
2019-12-28 21:38:38 +00:00
michael
3418f0e977 * Set default font to postscript name
git-svn-id: trunk@43807 -
2019-12-28 21:21:45 +00:00
michael
f01495668e * Search with Postscript font name and humanreadable font name
git-svn-id: trunk@43806 -
2019-12-28 21:21:13 +00:00
florian
9bd7401ce9 * comment fixed
git-svn-id: trunk@43805 -
2019-12-28 18:18:41 +00:00
florian
00859420ab * correctly handle reading of class/object pointers in combination with @, resolves #26326
git-svn-id: trunk@43804 -
2019-12-28 17:59:23 +00:00
michael
1c171e1ad3 * Fix bug ID #36486, add parameter to force use of largeint for sqlite
git-svn-id: trunk@43802 -
2019-12-28 14:10:59 +00:00
florian
7032c80041 * accept #26 as eof in iso mode, resolves #35136
git-svn-id: trunk@43801 -
2019-12-28 10:35:46 +00:00
michael
a816ad9a74 * Fix recno
git-svn-id: trunk@43800 -
2019-12-27 22:09:52 +00:00
michael
a37cb2d2fa * Fix bug #36478: add array of category names
git-svn-id: trunk@43799 -
2019-12-27 11:08:52 +00:00
michael
0485f59cad * Fix bug ID #36484: macos forbids loading unversioned library
git-svn-id: trunk@43798 -
2019-12-27 11:02:30 +00:00
florian
94d222ba69 + test for #26791, meanwhile fixed
git-svn-id: trunk@43797 -
2019-12-26 21:10:34 +00:00
ondrej
0b5bc00855 Remove misleading comment
git-svn-id: trunk@43796 -
2019-12-26 16:22:51 +00:00
florian
ccf409c8a0 * use 64 bit code page in tppcshlshrnode.pass_generate_code for all 64 bit types,
resolves #33582

git-svn-id: trunk@43795 -
2019-12-25 22:11:31 +00:00
florian
051b9840a5 * write a proper error message if <int>/<int> is encountered while no
floating point support is available, resolves #32006

git-svn-id: trunk@43794 -
2019-12-25 18:09:30 +00:00
florian
fd0012deff * when copying goto nodes take care if the label node is part of the copied tree
or not, resolves #35820

git-svn-id: trunk@43793 -
2019-12-25 17:10:14 +00:00
svenbarth
40ffb54129 * Currency and Comp are correctly handled by GetFloatProp/SetFloatProp, so use these instead of GetOrdProp/SetOrdProp
git-svn-id: trunk@43792 -
2019-12-25 15:23:35 +00:00
svenbarth
3c4c206081 * correctly handle smaller enums on Big Endian systems
git-svn-id: trunk@43791 -
2019-12-25 15:23:31 +00:00
svenbarth
f59eae4f81 * correctly handle local reference in the RISC V assembler readers (both 32 and 64 bit)
git-svn-id: trunk@43790 -
2019-12-25 15:23:28 +00:00
svenbarth
4ad7d552a1 * increase support for multilib binutils for RISC V by passing the correct ABI to the linker
git-svn-id: trunk@43789 -
2019-12-25 15:23:25 +00:00
svenbarth
114c27fb4e * increase support for multilib binutils for RISC V by passing the ABI to the assembler
git-svn-id: trunk@43788 -
2019-12-25 15:23:21 +00:00
michael
dd0d606a0a * Remove some unused identifiers
git-svn-id: trunk@43787 -
2019-12-25 13:56:23 +00:00
Jonas Maebe
1a9e246c29 * added is_normal_fieldvarsym() helper and use it
o fixes several places where there was a check whether something is a
     fieldvarsym, but not whether it's an instance rather than a class field

git-svn-id: trunk@43786 -
2019-12-24 22:12:44 +00:00
Jonas Maebe
6d51c69dbe * fixed writing of calling convention for function declarations/definitions
in LLVM

git-svn-id: trunk@43785 -
2019-12-24 22:12:40 +00:00
Jonas Maebe
b89487e721 * fix paraloc def for vectors with vectorcall calling convention (was a single
element instead of a vector)

git-svn-id: trunk@43784 -
2019-12-24 22:12:37 +00:00