Commit Graph

12971 Commits

Author SHA1 Message Date
florian
a34d4e715c Merged riscv_new branch
git-svn-id: trunk@39813 -
2018-09-26 19:49:08 +00:00
pierre
0e6c072365 define iconv_is_in_libc by default for netbsd OS (can be disabled by adding -dDISABLE_ICONV_LIBC option
git-svn-id: trunk@39801 -
2018-09-24 22:20:30 +00:00
Jeppe Johansen
2b4532d3fa asm-generic syscalls only selectively include nr_renameat. Instead nr_renameat2 seems to be the new default.
git-svn-id: branches/laksen/riscv_new@39795 -
2018-09-22 12:34:48 +00:00
Jeppe Johansen
74a7963d58 Redo overflow checking code.
Fix shift operators in case of unsigned subreg operations. There should be no sign extension here.
Add some unittest implementations that test stack execution and writing to readonly constants.

git-svn-id: branches/laksen/riscv_new@39762 -
2018-09-16 18:37:59 +00:00
yury
15476898ca * Re-generated lists of android syscalls by a new script. The lists are more correct now. The script's location: https://svn.freepascal.org/svn/fpcbuild/scripts/android
git-svn-id: trunk@39749 -
2018-09-12 16:54:52 +00:00
marco
7833dbf6a4 * uppercase relative_P_ath. Mantis #34262
git-svn-id: trunk@39743 -
2018-09-12 11:24:19 +00:00
yury
3a2884df70 * Android: The list of supported syscalls has been auto-generated directly from android sources for each CPU.
* Minor adjustments to make all compilable with the proper list of Android syscalls.

git-svn-id: trunk@39739 -
2018-09-11 16:10:50 +00:00
pierre
32001975bf * Add PAGESIZE local constant.
+ Set LAST_PAGE_GENERATES_SIGNAL macro for linux powerpc/powerpc64.
  + Use page_size for StackBottom computation.
  + Use LAST_PAGE_GENERATES_SIGNAL in StackBottom computation.

git-svn-id: trunk@39736 -
2018-09-11 13:13:50 +00:00
pierre
16e2bdad5a Avoid wrap on 32-bit system for StackTop calculation
git-svn-id: trunk@39735 -
2018-09-11 13:10:59 +00:00
pierre
70fae803ce Increase default trace size to 16
git-svn-id: trunk@39734 -
2018-09-11 13:08:51 +00:00
pierre
b279f24f26 Add FPC_SOFT_FPUX80 and FPC_SOFT_FPU128 define handling
git-svn-id: trunk@39732 -
2018-09-11 08:02:48 +00:00
pierre
b219fa9023 pass -D__I8086_SMARTLINK_SECTIONS__ to nasm if FPCOPT contains -dTEST_I8086_SMARTLINK_SECTIONS
git-svn-id: trunk@39726 -
2018-09-10 13:30:42 +00:00
Jeppe Johansen
ba8245dccb argc is a longint.
git-svn-id: branches/laksen/riscv_new@39696 -
2018-09-01 19:46:04 +00:00
svenbarth
a076677336 * instead of a flags field generate a table with all Initialize operators of all fields (nested or not, parent class or not) for class types; objects and records don't use this (yet)
git-svn-id: trunk@39690 -
2018-08-29 19:21:35 +00:00
svenbarth
2e1327b6b2 * use pooled constant references for the parameter locations as more often than not they're equal between multiple methdos (e.g. the Self argument is always the same)
* using this the TypInfo unit can navigate interface methods and VMT method parameters much more quickly as the latter have a constant size now

git-svn-id: trunk@39686 -
2018-08-29 19:20:31 +00:00
svenbarth
029ec93df6 * use pooled constant references for the names of VMT methods in the RTTI
git-svn-id: trunk@39685 -
2018-08-29 19:20:27 +00:00
svenbarth
228d3252cc * use pooled constant references for the parameter names of VMT methods in the RTTI
git-svn-id: trunk@39684 -
2018-08-29 19:20:24 +00:00
marco
0b9ee238b5 * windows unit enhancements from mantis #34184
git-svn-id: trunk@39675 -
2018-08-27 18:11:40 +00:00
svenbarth
d9cb5c4502 + add a Boolean8 alias for Boolean for symmetry's sake (fixes Mantis #34058)
git-svn-id: trunk@39673 -
2018-08-24 15:53:10 +00:00
svenbarth
d8f024a490 * improve DirectoryExists() and FileExists() based on patch by Serge Anvarov in Mantis #32370 so that they also support files/directories that aren't accessible (e.g. the page file) as well as FollowLink = False
git-svn-id: trunk@39672 -
2018-08-24 15:34:09 +00:00
svenbarth
e110d90127 + implement FileGetSymLinkTarget() based on patch by Serge Anvarov in Mantis #32370
git-svn-id: trunk@39671 -
2018-08-24 15:34:04 +00:00
svenbarth
b9721003f0 + add missing defines
git-svn-id: trunk@39670 -
2018-08-24 15:33:55 +00:00
svenbarth
09e5f463dc + add Delphi-compatible FileGetSymLinkTarget functions to all platforms (currently returns False on all platforms); this also includes TSymLinkRec variants for both RawByteString and UnicodeString
git-svn-id: trunk@39669 -
2018-08-24 15:33:45 +00:00
svenbarth
92dcdd8b5b + add Delphi compatible FollowLink parameter (default is True) to FileExists and DirectoryExists; support for it is up to each target
git-svn-id: trunk@39668 -
2018-08-24 15:33:09 +00:00
marco
315fe21718 * deprecations, remove oldlinux.
git-svn-id: trunk@39663 -
2018-08-23 07:57:56 +00:00
marco
096e7d7513 * add prawbytestring.
git-svn-id: trunk@39662 -
2018-08-22 12:26:42 +00:00
marco
1e60364572 * another stat file cleanup.
git-svn-id: trunk@39655 -
2018-08-20 14:27:59 +00:00
florian
70b2e11e6a * fix SetRoundingMode on RiscV64
git-svn-id: branches/laksen/riscv_new@39646 -
2018-08-19 15:26:44 +00:00
florian
4f052e4f90 o fix several issues with floating point exceptions
+ mask underflow and precision on startup
  + check for floating point exceptions after inlined float routine helpers
  - do not check for floating point exceptions after floating point moves 

git-svn-id: branches/laksen/riscv_new@39645 -
2018-08-19 15:26:00 +00:00
marco
bffbff73e1 * remove deprecated parts linux stat records (FPC 1.0 leftovers)
git-svn-id: trunk@39644 -
2018-08-19 15:10:22 +00:00
marco
15fcd0ab61 * remove old ifdefs
git-svn-id: trunk@39642 -
2018-08-19 14:54:58 +00:00
florian
203409ab48 * fixed floating point exception masking support for RiscV64
git-svn-id: branches/laksen/riscv_new@39638 -
2018-08-19 10:55:41 +00:00
marco
98f00acb06 * trunk to 3.3.1
git-svn-id: trunk@39635 -
2018-08-18 15:47:44 +00:00
marco
d143ab60e1 * regenned makefile without date/rev components for easier merging.
git-svn-id: trunk@39630 -
2018-08-18 15:06:25 +00:00
florian
a825a66d01 * IntPower inverts the base first for negative exponents and multiplies then, resolves #34124
git-svn-id: trunk@39621 -
2018-08-16 20:45:35 +00:00
pierre
e4346b264f Add missing alignment in DynArrayIndex function
git-svn-id: trunk@39586 -
2018-08-07 16:34:57 +00:00
pierre
bc75e8547e Improve detect_linuxvcs to allow parsing of /proc/PID/stat even with spaces in exe name
git-svn-id: trunk@39579 -
2018-08-06 16:10:28 +00:00
pierre
76d3893d78 Changes for symbian target OS, adding most of standard units, as empty stubs
git-svn-id: trunk@39578 -
2018-08-06 15:16:55 +00:00
pierre
d0a7e29052 Add character, fpwidestring, unicodedata and unicodenumtable units to allow compilation of uregexpr unit from package regexpr
git-svn-id: trunk@39576 -
2018-08-06 12:23:08 +00:00
pierre
805aaf18d6 Add character, fpwidestring, unicodedata and unicodenumtable units to Makefile to allow compilation of uregexpr unit from pacakge regexpr
git-svn-id: trunk@39575 -
2018-08-06 10:12:37 +00:00
pierre
394b353c34 Add character, fpwidestring, unicodedata and unicodenumtable units to builrtl to allow compilation of uregexpr unit from pacakge regexpr
git-svn-id: trunk@39574 -
2018-08-06 10:11:58 +00:00
pierre
2ad89601e1 Add character, fpwidestring, unicodedata and unicodenumtable units to allow compilation of uregexpr unit from pacakge regexpr
git-svn-id: trunk@39573 -
2018-08-06 09:42:02 +00:00
michael
ab84f09591 * Fix bug #39521. Generic functions only in trunk
git-svn-id: trunk@39525 -
2018-07-29 21:43:03 +00:00
Jeppe Johansen
f781c8942e Write real atomic operations, and add memory barrier operations.
Add support for fence, and acquire/release syntax to assembler reader.
Fix broken register aliases.

git-svn-id: branches/laksen/riscv_new@39524 -
2018-07-29 16:43:09 +00:00
Jeppe Johansen
f2670bc8fb Fix missing alignment call.
git-svn-id: branches/laksen/riscv_new@39523 -
2018-07-29 14:18:19 +00:00
Jeppe Johansen
90d5f5e760 Added library search paths.
Removed GP and TP from allocatable registers for now. GP should not be overwritten.
Ported dllprt0.as
Fixed register usage in cprt0.as

git-svn-id: branches/laksen/riscv_new@39522 -
2018-07-29 13:08:15 +00:00
michael
1e3f44965f * Added generic IfThen, as proposed by Thaddy de Koning, bug id #34012
git-svn-id: trunk@39521 -
2018-07-29 09:35:54 +00:00
Jeppe Johansen
27ab039366 Fixed _fini and _init references in cprt0.as
Add RiscV to fcl-res and fpcres.
Check that constant is a valid imm12 when doing overflow checking.

git-svn-id: branches/laksen/riscv_new@39494 -
2018-07-23 11:40:55 +00:00
Jeppe Johansen
b98eb3daa9 Changed order in stack unravelling RTL code, to match the most common cases.
Fixed unsigned conditions for branch conditions.
Added some additional const loading cases.
Changed the temporary register used during calls because it could otherwise clash with the argument passing registers.

git-svn-id: branches/laksen/riscv_new@39492 -
2018-07-23 01:11:31 +00:00
florian
65a415c13e * fix assembling with official binutils
* fix compilation on 32 bit hosts
+ compile with -Sew

git-svn-id: branches/laksen/riscv_new@39482 -
2018-07-22 13:10:24 +00:00