Commit Graph

13910 Commits

Author SHA1 Message Date
michael
76e64749aa * Fix bug #35914: add epoll_pwait, epoll_create1
git-svn-id: trunk@44666 -
2020-04-09 21:27:22 +00:00
michael
a678192c11 * Use ansistrings for options. (bug ID 36892)
git-svn-id: trunk@44664 -
2020-04-09 21:05:59 +00:00
nickysn
9573e373f2 * synchronize with trunk
git-svn-id: branches/z80@44637 -
2020-04-07 22:19:18 +00:00
florian
1dd914ffc8 + initial xtensa-linux rtl
git-svn-id: trunk@44636 -
2020-04-07 21:01:07 +00:00
michael
2dfc5b160b * Fix wrong start/stop index
git-svn-id: trunk@44635 -
2020-04-07 14:03:42 +00:00
michael
0ff254e00f * Fix bug ID #36837: add ToObjectArray, ToStTringArray and SetStrings
git-svn-id: trunk@44632 -
2020-04-07 08:27:34 +00:00
Károly Balogh
b599574a16 m68k-amiga: create the heap memory pool with MEMF_ANY, rather than MEMF_FAST. this will finally allow FPC compiled executables to start on chipmem-only machines.
git-svn-id: trunk@44624 -
2020-04-06 22:34:46 +00:00
nickysn
692ec2fcba * synchronized with trunk
git-svn-id: branches/z80@44623 -
2020-04-06 22:14:42 +00:00
florian
460369405e + xtensa-linux: OS specific system unit header files
git-svn-id: trunk@44612 -
2020-04-05 21:12:13 +00:00
nickysn
87eae35e2f * synchronize with trunk
git-svn-id: branches/z80@44584 -
2020-04-04 22:54:29 +00:00
florian
e32027c8d3 + add missing semicolon, resolves #36868
git-svn-id: trunk@44578 -
2020-04-04 20:04:01 +00:00
florian
0ff034216a + xtensa-linux support for the rtl makefile
git-svn-id: trunk@44577 -
2020-04-04 20:01:13 +00:00
Károly Balogh
086c897981 amicommon: m68k-amiga legacy support
git-svn-id: trunk@44566 -
2020-04-04 13:24:29 +00:00
Károly Balogh
8816a0b601 m68k-amiga: startup code now uses legacyexech, instead of explicitly declaring legacy support functions it needs
git-svn-id: trunk@44565 -
2020-04-04 13:22:46 +00:00
Károly Balogh
8d690546f3 m68k-amiga: make all legacy support functions have a public name, and supply headers for them (will be utilized by athreads, dos, and sysutils units)
git-svn-id: trunk@44564 -
2020-04-04 13:21:54 +00:00
Károly Balogh
632353a808 m68k-amiga: prepare the startup code and system unit for legacy support
git-svn-id: trunk@44563 -
2020-04-04 12:53:00 +00:00
Károly Balogh
433e40fe71 m68k-amiga: while trying to construct ParamStr(0), if the directory is empty, do not prepend the binary name with '/'
git-svn-id: trunk@44562 -
2020-04-04 12:48:51 +00:00
Károly Balogh
e0fe8bd175 m68k-amiga: implemented functions required for basic parameter handling in legacydos
git-svn-id: trunk@44561 -
2020-04-04 12:40:55 +00:00
Károly Balogh
f5becf9ac6 m68k-amiga: implemented StackSwap and DeletePool in legacyexec support, also declare public name for a few functions, so the startup code can hook into them
git-svn-id: trunk@44560 -
2020-04-04 12:39:55 +00:00
florian
a6cfaa996a * few cleanups towards building the z80-embedded system unit
git-svn-id: branches/z80@44550 -
2020-04-03 20:37:27 +00:00
florian
d723b69325 * regenerated
git-svn-id: branches/z80@44549 -
2020-04-03 20:37:03 +00:00
nickysn
3e3942e324 * synchronize with trunk
git-svn-id: branches/z80@44458 -
2020-03-31 19:18:42 +00:00
marco
aa391dadbf * only free if not ffreeobjects, mantis 036853
git-svn-id: trunk@44457 -
2020-03-31 14:53:03 +00:00
nickysn
6e346f1c79 * synchronize with trunk
git-svn-id: branches/z80@44444 -
2020-03-30 22:36:17 +00:00
florian
314b8999aa + Xtensa: add linklib statements, better _halt procedure
git-svn-id: trunk@44441 -
2020-03-30 20:42:56 +00:00
nickysn
a340a39ae3 * synchronize with trunk
git-svn-id: branches/z80@44428 -
2020-03-30 03:14:29 +00:00
Károly Balogh
b96109727c m68k-amiga: initial work on some support functions to allow the RTL to be compiled for AmigaOS 1.x
git-svn-id: trunk@44427 -
2020-03-30 03:06:23 +00:00
Károly Balogh
f69c099cfe amiga/morphos: fix freepooled(), it has no return value
git-svn-id: trunk@44426 -
2020-03-30 02:41:32 +00:00
Károly Balogh
c7136b59c7 amiga: no packed records in doslibd.inc and timerd.inc, use packrecords 2 insead, this improves code generated for plain 68000
git-svn-id: trunk@44420 -
2020-03-30 01:47:57 +00:00
Károly Balogh
3031a4da31 amiga-m68k: minimal tweaks and formatting to the dos unit
git-svn-id: trunk@44416 -
2020-03-30 00:40:20 +00:00
nickysn
48b4cc34cb * synchronized with trunk
git-svn-id: branches/z80@44414 -
2020-03-29 23:04:40 +00:00
nickysn
fc6e74642d * regenerate makefiles
git-svn-id: branches/z80@44413 -
2020-03-29 23:01:16 +00:00
florian
391512546e + initial FreeRTOS RTL support, largely based on the Embedded target, limited to Xtensa so far
git-svn-id: trunk@44400 -
2020-03-29 17:13:45 +00:00
nickysn
755fe97c51 * synchronize with trunk
git-svn-id: branches/z80@44397 -
2020-03-29 16:24:32 +00:00
Jonas Maebe
c8307d4022 * use getpagesize function instead of reading external variables to restore
ability to compile against SDKs < OS X 10.9 (mantis #36653)

git-svn-id: trunk@44396 -
2020-03-29 14:52:49 +00:00
ondrej
eb9a4eca91 SysUtils: make GetDriveIDFromLetter accept lowercase letters
git-svn-id: trunk@44389 -
2020-03-29 06:16:28 +00:00
Károly Balogh
1aad73217c m68k-amiga: add some defines, to disable part of OS headersin the RTL when compiling for OS1.x. this is to aid the implementation of future AmigaOS 1.x support
git-svn-id: trunk@44372 -
2020-03-27 04:31:10 +00:00
florian
e34a759659 + Xtensa: mathu.inc using only the softfloat unit provided mechanisms
git-svn-id: trunk@44347 -
2020-03-23 20:54:55 +00:00
Károly Balogh
a48d40e08e amicommon: cleaned up the voodoo padding magic and packed record from the DOS unit SearchRec. This structure is entirely platform specific, ancient code might have accessed it from assembly, but it's no longer the case.
git-svn-id: trunk@44345 -
2020-03-23 01:15:41 +00:00
Károly Balogh
65330f346d amicommon: make sure to reset packrecords to default after OS structure inclusion
git-svn-id: trunk@44344 -
2020-03-23 01:13:13 +00:00
Károly Balogh
cd76003b4d amiga: remove packed from RTL OS record/structure definitions, use PACKRECORDS 2 instead. this allows much better code to be generated for a plain 68000 RTL
git-svn-id: trunk@44343 -
2020-03-23 00:05:52 +00:00
Károly Balogh
b04b94f236 reverted commit accidentally commited to wrong branch
git-svn-id: branches/z80@44342 -
2020-03-22 23:56:21 +00:00
Károly Balogh
97c3af7628 amiga: remove packed records from RTL OS definition structures, use PACKRECORDS 2 instead. this allows much better code to be generated for a plain 68000 RTL
git-svn-id: branches/z80@44341 -
2020-03-22 23:51:20 +00:00
Jeppe Johansen
5fa7bbfb9b esp8266: Make startup code compile.
git-svn-id: trunk@44338 -
2020-03-22 13:17:08 +00:00
florian
43dc4c7ea0 * regenerated Makefiles
git-svn-id: trunk@44333 -
2020-03-21 20:59:59 +00:00
Jeppe Johansen
3189e4245d makefiles: Add support for xtensa-embedded target.
git-svn-id: trunk@44332 -
2020-03-21 20:59:33 +00:00
florian
28c0a47a95 + Xtensa: completed rtl skeleton
git-svn-id: trunk@44322 -
2020-03-21 12:49:43 +00:00
florian
83a6efd759 + Xtensa: RTL skeleton
git-svn-id: trunk@44320 -
2020-03-20 22:35:43 +00:00
michael
5fe164498b * Overloaded split needs similar patch
git-svn-id: trunk@44313 -
2020-03-19 21:41:58 +00:00
michael
123fe94206 * Fix bug #36806, do not add empty last sep, patch from Delfion
git-svn-id: trunk@44312 -
2020-03-19 13:47:49 +00:00
Károly Balogh
47b5d0b92e atari: added the fpwidestring unit to the RTL build
git-svn-id: trunk@44310 -
2020-03-18 00:44:49 +00:00
Károly Balogh
fb76f529ee amiga-likes: add fpwidestring unit to the RTL build
git-svn-id: trunk@44309 -
2020-03-18 00:32:48 +00:00
pierre
27d6dba699 Add explicit dependency of AVR specific unit avrsim on consoleio and heapmgr units
git-svn-id: trunk@44291 -
2020-03-12 10:53:56 +00:00
marco
7b4ef925f0 * attempt at crt1 translation to get freebsd 12 running.
git-svn-id: trunk@44289 -
2020-03-08 16:37:30 +00:00
Jeppe Johansen
c20b27ede9 Add most SSE instructions as intrinsics.
git-svn-id: trunk@44274 -
2020-03-06 21:34:22 +00:00
marco
61c405f942 * more abi numbers from test VMs
git-svn-id: trunk@44273 -
2020-03-06 17:26:06 +00:00
marco
fc49266749 * comment with FreeBSD11 tag value
git-svn-id: trunk@44265 -
2020-03-06 09:44:02 +00:00
marco
cf0bf230c5 * ifdef _win64 -> win64. Patch by Marcin. Possibly headers converted
when windows 64-bit existed, but without direct usage knowledge.
   Should be in final 3.2.0

git-svn-id: trunk@44258 -
2020-03-03 11:04:54 +00:00
svenbarth
97c8464b11 * fix for Mantis #36738: when copying a record using its copy operator we assume that we've copied the whole record; this way managed records inside non-managed records are handled correctly
+ added (adjusted) test

git-svn-id: trunk@44257 -
2020-03-02 22:04:45 +00:00
florian
af1a4c06c5 * fixed generic round(...) for large values based on a comment by Alexander Hofmann on fpc-devel
* extended test

git-svn-id: trunk@44235 -
2020-02-23 10:41:18 +00:00
marco
5d0c9cee9d * fix mantis #36708, take care of high word buttons variable.
git-svn-id: trunk@44210 -
2020-02-18 15:01:07 +00:00
ondrej
a5ed5bd942 TFileStream: use SysErrorMessage in exception message if available
git-svn-id: trunk@44200 -
2020-02-17 08:35:15 +00:00
florian
17158c3587 * mmap2 expects that offset is divided by 4096
git-svn-id: trunk@44198 -
2020-02-16 20:14:28 +00:00
florian
297d6e2c60 * patch by Christo Crause: more avr1 controllers and remove attiny28 from avr25 makefile list, resolves #36686
git-svn-id: trunk@44136 -
2020-02-09 10:51:14 +00:00
florian
dea63e3d61 * AVR: attiny28 is an avr1 CPU
git-svn-id: trunk@44132 -
2020-02-08 22:05:21 +00:00
florian
925979c6e4 * AVR: take care of CPUAVR_HAS_MOVW in assembler routines
git-svn-id: trunk@44131 -
2020-02-08 22:05:20 +00:00
florian
04ad607bb4 * patch by Christo Crause: more AVR controllers, resolves #36683
git-svn-id: trunk@44130 -
2020-02-08 20:43:22 +00:00
florian
5040e31f11 * patch by Christo Crause: add missing atmega-PB controllers, resolves #36667
git-svn-id: trunk@44128 -
2020-02-07 19:48:46 +00:00
florian
e033269deb * patch by Christo Craus to reorder the avr controllers for better overview, resolves #36662
git-svn-id: trunk@44124 -
2020-02-06 21:10:09 +00:00
pierre
37106166f1 Replace assembler instruction 'xorl' by 'xor' in Intel mode
git-svn-id: trunk@44116 -
2020-02-04 22:54:52 +00:00
Tomas Hajny
9ce1d0e509 * fix for TAbstractSearchRec.Time type change
git-svn-id: trunk@44113 -
2020-02-04 22:04:34 +00:00
florian
7d283f530e * patch by Christo Crause: fix startup code for avrtiny subarch, resolves #36650
git-svn-id: trunk@44100 -
2020-02-02 19:18:39 +00:00
florian
2b7447c78d * EPoll_Event is packed only on x86-64, not other 64 Bit CPUs, resolves #34416
* epoll_pwait expects the SigSet size as sixth parameter (kernel syscall only)
  + simple epoll* test

git-svn-id: trunk@44093 -
2020-02-02 14:23:51 +00:00
joost
e7f5b89c2c * Avoid doing a syscall with a nil parameter in fileexists
git-svn-id: trunk@44090 -
2020-02-02 11:06:14 +00:00
florian
00214406bc + patch by Christo Crause: Support for attiny10x controllers, resolves #36645
git-svn-id: trunk@44081 -
2020-02-01 15:54:57 +00:00
florian
f1eccca3a6 * catch exceptions in all variants of TextToFloat properly
* force x87 exceptions to be thrown on all platforms using x87

git-svn-id: trunk@44070 -
2020-01-30 21:23:10 +00:00
Jonas Maebe
d9f4c85d2e * llvm sometimes uses the AArch64 framepointer register as a regvar in the
main routine (because it can never return) -> attempt to guard against
    invalid accesses in get_caller_addr

git-svn-id: trunk@44066 -
2020-01-29 22:21:21 +00:00
florian
871136d4f2 * first couple of improvements propose by Stefan Kanthak at https://skanthak.homepage.t-online.de/division.html#fpc
git-svn-id: trunk@44057 -
2020-01-29 21:35:25 +00:00
florian
9d91d680fb * patch by Christo Crause: support for megaAVR 0 and tinyAVR 0/1, #36616, part 3/3
git-svn-id: trunk@44038 -
2020-01-26 14:35:32 +00:00
florian
7892e3f7b7 * patch by Christo Crause: support for megaAVR 0 and tinyAVR 0/1, #36616, part 2/3
git-svn-id: trunk@44037 -
2020-01-26 14:35:29 +00:00
florian
5aaf68b088 * fix compilation of arm-embedded, resolves #36626
git-svn-id: trunk@44034 -
2020-01-25 14:59:28 +00:00
florian
3cd4168ab3 + introduce TOSTimestamp
git-svn-id: trunk@44033 -
2020-01-25 14:14:41 +00:00
florian
17c4834a4a * system unit can be build for subarch avrtiny
git-svn-id: trunk@44032 -
2020-01-24 22:04:14 +00:00
florian
7b4292c94e * patch by Robert Roland to support the RaspberryPi 2 as a bare metal embedded target, resolves #35236
git-svn-id: trunk@44027 -
2020-01-23 21:14:49 +00:00
florian
8dc8647c7b * WinCE compilation fixed
git-svn-id: trunk@44025 -
2020-01-23 20:47:55 +00:00
florian
d2a059bd02 * patch by Christo Crause: avrtiny26 controller is not subarch avr25 but avr2, resolves #36620
git-svn-id: trunk@44021 -
2020-01-22 20:41:24 +00:00
florian
3ab8830b83 * patch by Christo Crause: Correct subarch for avrtiny series in compiler, resolves #36619
git-svn-id: trunk@44020 -
2020-01-22 20:34:43 +00:00
florian
f2618cb6a4 * compilation on atari fixed
git-svn-id: trunk@44019 -
2020-01-22 19:06:26 +00:00
Tomas Hajny
e790cb067d * fix of FileSetDate after int64 changes (r44010 and r44013)
git-svn-id: trunk@44018 -
2020-01-22 12:14:47 +00:00
marco
a16f332fbb * some quick fixes for Win32 with temp variables for some places where the int64 changes breaks.
git-svn-id: trunk@44017 -
2020-01-22 12:07:49 +00:00
florian
69956cd97a * fix compilation on several OSes after r44010
git-svn-id: trunk@44013 -
2020-01-21 21:50:37 +00:00
florian
01302bc47d * subroutines working with an OS dependend time stamp use an int64 now, so the 2038 problem
on unixes can be tackled

git-svn-id: trunk@44010 -
2020-01-21 20:59:20 +00:00
florian
ae8d2dc69a * omit first not, helps the reg. allocator to find a workable colouring, resolves #36611
git-svn-id: trunk@44005 -
2020-01-20 21:13:34 +00:00
florian
799ea31a5f * AVR: due to recent fixes, EXCLUDE_COMPLEX_PROCS is not needed anymore
git-svn-id: trunk@43997 -
2020-01-19 18:04:59 +00:00
florian
28391e04bc + AVR: initial support of the avrtiny architecture in the rtl
git-svn-id: trunk@43988 -
2020-01-19 15:55:25 +00:00
marco
37a8536bd4 * undo 43513 which ifdefed usage of ismanagedtype for 3.2. 3.2 now supports ismanagedtype
git-svn-id: trunk@43971 -
2020-01-18 15:17:02 +00:00
marco
de7c03bd42 * License clarification OS2/emx after discussion. Be more clear it is emx-lib
license in copying.emx, and that allows to remove the NOT GPL clause that
   triggers license scanners. 

git-svn-id: trunk@43969 -
2020-01-18 11:53:10 +00:00
florian
22ab6dd329 * disabled mm procs again, they are not usable yet neither supposed to be
used

git-svn-id: trunk@43968 -
2020-01-18 11:37:57 +00:00
svenbarth
8184815780 * ensure that the new mm related procs are only used for 3.3.1 and newer as 3.2 and older don't support the corresponding SSE types
git-svn-id: trunk@43967 -
2020-01-18 11:22:24 +00:00
svenbarth
b3c579f49c * ensure that the includes for the new mm related files are indeed enabled
git-svn-id: trunk@43966 -
2020-01-18 11:22:20 +00:00
marco
ee760a60f4 * changed copyright to Sven since he is the first one with an implementation.
Florian added the file, but as empty skeleton

git-svn-id: trunk@43965 -
2020-01-17 17:51:20 +00:00
marco
edb07af423 * more GPL -> GPL with modification.
git-svn-id: trunk@43964 -
2020-01-17 15:01:23 +00:00
marco
3053f8c2e8 * many syscallh header files had GPL license instead of modified. I owned the copyright, or in one case, Thomas did, but it was a full copy of mine. -> changed to modified
* removed the remark about calling convention from several implementations. Oldfpccall no longer used.

git-svn-id: trunk@43962 -
2020-01-17 12:07:50 +00:00
marco
7fc9212ecd Two static inline constructors
git-svn-id: trunk@43950 -
2020-01-15 11:09:17 +00:00
florian
70a836c4a2 * first part of merging parts of Jeppe's intrinsics patch, mainly r31135
is merged by this commit with a lot of adaptions

git-svn-id: trunk@43949 -
2020-01-14 21:52:39 +00:00
ondrej
77fecff30e TStrings.SaveToStream(TStream): use FEncoding as the default for IgnoreEncoding=False so that loaded files are correctly resaved
git-svn-id: trunk@43948 -
2020-01-14 15:33:53 +00:00
ondrej
461a648f67 TStrings: default options:
* remove soWriteBOM for FPC backwards compatibility
* add soPreserveBOM so that a loaded file is correctly resaved

git-svn-id: trunk@43947 -
2020-01-14 15:30:38 +00:00
ondrej
c3f8b7c914 Revert r43942: TStrings: old SaveToFile(string) and SaveToStream(TStream) should ignore Encoding and stay backwards compatible within FPC. Use the other overloads for Encoding-aware SaveTo* methods
git-svn-id: trunk@43946 -
2020-01-14 15:17:30 +00:00
ondrej
6ed89d4101 TStrings: add missing SaveToFile overload with IgnoreEncoding parameter
git-svn-id: trunk@43945 -
2020-01-14 15:16:04 +00:00
ondrej
7dba9f0294 TStrings: old SaveToFile(string) and SaveToStream(TStream) should ignore Encoding and stay backwards compatible within FPC. Use the other overloads for Encoding-aware SaveTo* methods
git-svn-id: trunk@43942 -
2020-01-14 10:47:13 +00:00
Jeppe Johansen
2678522db5 - RISC-V: Add controller types for common RV32 MCUs.
- Adds initial controller units for these MCUs.

Code contributed by Michael Ring

git-svn-id: trunk@43935 -
2020-01-13 22:54:26 +00:00
florian
931d4dcfee * ensure the rtl and the packages for embedded compile with features exceptions and classes disabled
git-svn-id: trunk@43931 -
2020-01-13 21:20:03 +00:00
ondrej
34fecf90f3 SysUtils: add ExpandFileName with a BasePath overload
git-svn-id: trunk@43928 -
2020-01-13 12:36:35 +00:00
pierre
3b39ec84e4 Examine all exception bits in m68k fpsr register to decide which into which run time error it is converted
git-svn-id: trunk@43909 -
2020-01-10 22:58:34 +00:00
pierre
90d2982977 Wipe out any pre-existing exception on SetExceptionMask call for m68k cpu
git-svn-id: trunk@43908 -
2020-01-10 22:56:03 +00:00
svenbarth
7a0a1d9f36 * fix for Mantis #36544: provide an overall exception handler for the library startup code in case of unhandled exceptions (the loading of the library is considered failed in that case) when SEH is active
+ added test

git-svn-id: trunk@43901 -
2020-01-10 15:39:20 +00:00
florian
3335104da2 * get paramstr(0) only if really needed
git-svn-id: trunk@43898 -
2020-01-09 20:35:37 +00:00
pierre
6929da66a8 + Enable FPU exception handling for m68k processor
git-svn-id: trunk@43894 -
2020-01-08 23:09:21 +00:00
pierre
d8298c9f14 Try to correctly handle m68k exceptions bits inside SetExceptionMask function
git-svn-id: trunk@43893 -
2020-01-08 23:08:30 +00:00
florian
df6cf6637d * fplstat needs to pass AT_SYMLINK_NOFOLLOW if the newfstatat syscall is used, reported by bald zhang, resolves #36528
git-svn-id: trunk@43880 -
2020-01-06 21:35:13 +00:00
florian
a79b8a145f * manually added statx syscall numbers for android
git-svn-id: trunk@43850 -
2020-01-03 12:27:46 +00:00
florian
49d4371784 * duplicate syscall number removed, resolves #36508
git-svn-id: trunk@43849 -
2020-01-03 10:44:57 +00:00
ondrej
ee18a7ee9a classes: add TStringsOption.soPreserveBOM
git-svn-id: trunk@43848 -
2020-01-03 10:39:53 +00:00
ondrej
944e99d71c sysutils: TEncoding.IsStandardEncoding: FSystemEncodings are standard encodings (they must not be destroyed in user code)
git-svn-id: trunk@43846 -
2020-01-02 20:04:52 +00:00
ondrej
e1e4f4c122 classes: introduce TRawByteStringStream
git-svn-id: trunk@43845 -
2020-01-02 20:02:27 +00:00
ondrej
37327af58b sysutils: change TEncoding.Default from ANSI to SystemEncoding. (It is Delphi-compatible indeed because default SystemEncoding is ANSI.)
git-svn-id: trunk@43842 -
2020-01-02 19:00:32 +00:00
ondrej
5d58ced92b classes: add TStrings.Options (Delphi-compatibility)
git-svn-id: trunk@43841 -
2020-01-02 18:55:19 +00:00
ondrej
6796434268 sysutils: fix TMBCSEncoding.GetPreamble
git-svn-id: trunk@43840 -
2020-01-02 18:22:57 +00:00
ondrej
a446032f32 classes: fix TStrings.SaveToStream overloads (Delphi-compatibility + introduce IgnoreEncoding-overload for legacy FPC code like for LoadFromStream)
git-svn-id: trunk@43839 -
2020-01-02 18:10:53 +00:00
ondrej
c9ae8f94ac classes: fix TMBCSEncoding.IsSingleByte. Issue #36504
git-svn-id: trunk@43838 -
2020-01-02 16:51:05 +00:00
florian
d425a85f8d + Linux.fpstatx, resolves #36501
git-svn-id: trunk@43837 -
2020-01-02 14:10:31 +00:00
florian
295041e523 * updated linux syscall numbers
git-svn-id: trunk@43835 -
2020-01-02 11:08:40 +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
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
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
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
a37cb2d2fa * Fix bug #36478: add array of category names
git-svn-id: trunk@43799 -
2019-12-27 11:08:52 +00:00
ondrej
0b5bc00855 Remove misleading comment
git-svn-id: trunk@43796 -
2019-12-26 16:22:51 +00:00
svenbarth
5610f992b4 * if a CPU platform does not provide a FarPointer type then declare it as an alias to a mere Pointer
git-svn-id: trunk@43776 -
2019-12-24 21:30:00 +00:00
svenbarth
abe6e740f5 * Delphi allows overloading based on Comp, so declare it as a type rename instead of a mere alias
git-svn-id: trunk@43775 -
2019-12-24 21:29:57 +00:00
svenbarth
ad0d885880 * if a CPU platform doesn't explicitely provide the Comp type we declare it as an alias to Int64
git-svn-id: trunk@43774 -
2019-12-24 21:29:53 +00:00
svenbarth
042bbdf613 * as long as the Comp type is declared, declare PComp as well
git-svn-id: trunk@43773 -
2019-12-24 21:29:51 +00:00
florian
a20209e691 + tf_init_final_units_by_calls
* arm-embedded generates direct calls for unit init/final now as well

git-svn-id: trunk@43771 -
2019-12-24 16:14:30 +00:00
florian
e332c17bbd * some inconsistency regarding FPC_NONE usage fixed
git-svn-id: trunk@43770 -
2019-12-24 16:14:30 +00:00
michael
abeb00cd94 * Fix bug ID #34303, readability opimizations
git-svn-id: trunk@43714 -
2019-12-23 13:15:19 +00:00
florian
8b24033e93 * last fix was most likely not complete
git-svn-id: trunk@43712 -
2019-12-22 23:39:44 +00:00
florian
0dabe49601 * fix building on non-unix/windows targets
git-svn-id: trunk@43711 -
2019-12-22 23:34:22 +00:00
florian
99680eb88c * patch by Anton Kavalenka: heaptrc: Improve tracing by printing actual
module name (ether EXE or DLL), resolves #36130

git-svn-id: trunk@43710 -
2019-12-22 22:51:53 +00:00
florian
33fa211b84 + x86-64: assembler implementation for u128_div_u64_to_u64 for SysV ABI
* reminder => remainder (thanks to Stefan Kanthak for pointing it out)

git-svn-id: trunk@43695 -
2019-12-17 21:54:47 +00:00
michael
0b9b002807 * Fix bug ID #36425
git-svn-id: trunk@43678 -
2019-12-12 15:07:46 +00:00
florian
f5496c9d11 * improved build unit lazarus project for linux
git-svn-id: trunk@43618 -
2019-12-01 08:41:26 +00:00
florian
3edc0560b0 * patch by Benjamin Rosseaux: TEvent.WaitFor on *nix uses Monotonic Clock now
git-svn-id: trunk@43589 -
2019-11-25 20:58:18 +00:00
Jonas Maebe
0f46207776 * fixed (harmless) range error when expanding ~
git-svn-id: trunk@43559 -
2019-11-22 21:11:56 +00:00
svenbarth
2e259ee3cc * the VMT of the exception class needs to be referenced indirectly
git-svn-id: trunk@43543 -
2019-11-21 21:44:48 +00:00
pierre
bfb4b885ca Add riscv32 mathu inculde file, redirecting to ../riscv64/mathu.inc file (this file seems to have no 64-bit specific code)
git-svn-id: trunk@43530 -
2019-11-21 10:52:27 +00:00
pierre
9bd19b050b Also use syscall_nr_fstatat for FpStat function for riscv32 cpu
git-svn-id: trunk@43528 -
2019-11-20 23:04:33 +00:00
pierre
b990c59693 + riscv32 cpu: Use SYSINIT_UNITS instead of LOADERS
* mips/mipsel cpus: pass -xgot on to AS call for LOADERS,
     if OPT contains -ao-xgot.

git-svn-id: trunk@43527 -
2019-11-20 22:57:49 +00:00
pierre
0e0407ad57 Add si_XXX.inc files, pointing to riscv64 counterparts
git-svn-id: trunk@43526 -
2019-11-20 22:51:03 +00:00
pierre
23111a71ea Add missing and needed syscall_nr_XXX
git-svn-id: trunk@43525 -
2019-11-20 22:48:47 +00:00
pierre
e8b9d8442e Replace obsolete scall by ecall instruction
git-svn-id: trunk@43524 -
2019-11-20 22:48:06 +00:00
pierre
247f80abfb prepare source to also support riscv32 code
git-svn-id: trunk@43523 -
2019-11-20 22:46:31 +00:00
michael
37a9cda682 * Treat 3.2 as 3.0.4
git-svn-id: trunk@43513 -
2019-11-18 16:00:03 +00:00
florian
f5d5e84649 * more libunits
git-svn-id: trunk@43494 -
2019-11-16 14:04:46 +00:00
florian
18c5881e60 * update sharedlibs variable
git-svn-id: trunk@43488 -
2019-11-16 11:04:28 +00:00
michael
a5d3aabfc2 * Fix compilation with 3.0.4
git-svn-id: trunk@43482 -
2019-11-15 16:57:13 +00:00
pierre
a09e40945c Regenerate all Makefile's after commit #43472
git-svn-id: trunk@43478 -
2019-11-15 14:47:02 +00:00
michael
6fcd7fe3f8 * avoid warning about visibility of ItemIsmanaged
git-svn-id: trunk@43474 -
2019-11-15 14:26:12 +00:00
michael
d21a262a6c * Fix bug #0036270: optimize TFPSList.AddList and .Assign
git-svn-id: trunk@43473 -
2019-11-15 14:12:11 +00:00
michael
23ef6459bd * Fix bug #36284: small refactoring
git-svn-id: trunk@43454 -
2019-11-12 13:04:07 +00:00
michael
8b89a5cc51 * Remove testsuite again
git-svn-id: trunk@43431 -
2019-11-09 18:56:14 +00:00
florian
7e3acda739 * TIOCtlRequest is declared as unsigned long according to man 2 ioctl
git-svn-id: trunk@43427 -
2019-11-09 18:27:21 +00:00
michael
1c3b41eb54 * Testsuite in punit format
git-svn-id: trunk@43425 -
2019-11-09 13:39:14 +00:00
ondrej
9a9cd15ec4 TInterfacedObject.Destroy: fix case for correct auto-completion
git-svn-id: trunk@43418 -
2019-11-08 21:29:26 +00:00
michael
5f6f5cb864 * Bit helpers for ordinal functions, adapted from batch by Thaddy De Koning (bug ID 0036146)
git-svn-id: trunk@43417 -
2019-11-08 11:43:10 +00:00
michael
f622f58b04 * Observe doclear
git-svn-id: trunk@43416 -
2019-11-08 09:31:45 +00:00
michael
e578477334 * Refactor AddDelimitedText/SetDelimitedText
git-svn-id: trunk@43415 -
2019-11-08 09:21:08 +00:00
michael
d3ceede910 * Reduce use of Length(aValue) in setdelimitedtext
git-svn-id: trunk@43414 -
2019-11-08 08:36:31 +00:00
Jonas Maebe
490f057aa1 * replaced the arrays in the generic set helpers with arrays of 32 bytes
instead of high(cardinal), so LLVM doesn't get tricked into massively
    unrolling and parallelising those loops

git-svn-id: trunk@43408 -
2019-11-06 21:50:23 +00:00
michael
3b867da924 * Add AddDelimitedText,AddCommatext by Werner Pamler (bug ID 36249)
git-svn-id: trunk@43405 -
2019-11-06 10:51:34 +00:00
michael
2557c8e99b * Fix bug ID #0036268, more descriptive comment
git-svn-id: trunk@43404 -
2019-11-06 10:42:11 +00:00
florian
b8f186dab2 * reverted r43366
git-svn-id: trunk@43382 -
2019-11-03 14:42:02 +00:00
florian
5ead23513d * more overloads for Math.Min/Max, resolves #36161
git-svn-id: trunk@43366 -
2019-11-02 16:21:43 +00:00
michael
faee789507 * Add some functional methods to TStrings
git-svn-id: trunk@43365 -
2019-11-02 15:08:27 +00:00
yury
4ade471488 * GetModuleByAddr: Prevent returning a name of the current executable for invalid addresses such as pointer(-1) on Windows.
git-svn-id: trunk@43364 -
2019-11-02 14:54:25 +00:00
michael
20ca7d857c * Fix bug ID #36234: unicodedatastering must be of type unicodestring
git-svn-id: trunk@43357 -
2019-11-02 11:51:28 +00:00
michael
30bc217d55 * Fix bug ID #0036246, delphi compatibility property
git-svn-id: trunk@43353 -
2019-11-02 10:25:42 +00:00
florian
828e961f3d * remove unused constants
git-svn-id: trunk@43351 -
2019-11-01 18:39:17 +00:00
florian
3b1903b430 * simplified fpc_mul_qword so it compiles again on avr, fixes #36236 but does not solve the root of the problem
git-svn-id: trunk@43342 -
2019-10-31 21:02:23 +00:00
marco
480da24d4d * makefile fixes by Alfred, mantis #36237
git-svn-id: trunk@43341 -
2019-10-31 12:11:45 +00:00
marco
f7721cadcc * fix for mantis #36229, off by one in bounds check. Only affects invalid input though.
git-svn-id: trunk@43324 -
2019-10-29 13:44:24 +00:00
florian
c7fb1b8db7 * update dependencies of sysutils
git-svn-id: trunk@43315 -
2019-10-27 12:45:20 +00:00
pierre
d80734b412 Completely disable Round functions if FPUNONE is defined, to fix avr builds without flaot support
git-svn-id: trunk@43305 -
2019-10-23 06:38:10 +00:00
marcus
d90741d2f2 Fixed compilation after r43281 2nd try, some more "R"s
git-svn-id: trunk@43283 -
2019-10-21 07:51:59 +00:00
marcus
e833876f05 Fixed compilation after r43281
git-svn-id: trunk@43282 -
2019-10-21 07:38:04 +00:00
florian
d3c898a96b * properly round in ISO mode, resolves #35626
git-svn-id: trunk@43281 -
2019-10-20 21:11:40 +00:00
pierre
84ebe96d41 Define FPC_IS_SYSTEM at start of all system.pp source
git-svn-id: trunk@43203 -
2019-10-15 15:04:32 +00:00
pierre
362e6232c3 Fix compilation for wince target after restriction of enum value to longint range
git-svn-id: trunk@43200 -
2019-10-15 08:03:39 +00:00
florian
88648248ec * fix random(<int64>) for 32 Bit CPUs
git-svn-id: trunk@43194 -
2019-10-13 20:23:01 +00:00
florian
b02470468b * handle off by one in FilePos due to the filled buffer in iso mode, resolves #40850
git-svn-id: trunk@43188 -
2019-10-13 11:37:37 +00:00
florian
688c7d439f o AArch64:
* properly initialize FPU
    * FMOV cannot throw an FPU exception

git-svn-id: trunk@43167 -
2019-10-11 21:55:48 +00:00
florian
c189af0e3d * improved software floating point exception handling in the rtl
git-svn-id: trunk@43163 -
2019-10-10 20:31:31 +00:00
florian
245b58c249 + support for arm attributes
* abi notes fixed

git-svn-id: trunk@43157 -
2019-10-09 17:45:40 +00:00
michael
c6d8bd73f7 * Patch from Serge Anvarov with some optimizations (bug ID 36143)
git-svn-id: trunk@43155 -
2019-10-09 07:13:37 +00:00
michael
e89383a104 * Fix bug ID #36136, wrong reference count caused by missing const in param
git-svn-id: trunk@43138 -
2019-10-06 08:04:10 +00:00
florian
c0372f80e0 * with section threadvars, heap relocation is not needed
git-svn-id: trunk@43130 -
2019-10-05 20:48:27 +00:00
svenbarth
daa746243a * use clib constant instead of literal 'c' in case we have a target where the library is not called 'c' (hopefully all targets that use cgeneric.inc have the clib constant declared in their sysos.inc)
git-svn-id: trunk@43121 -
2019-10-05 09:42:55 +00:00
Károly Balogh
7f0675d937 netbsd: updated to link against the right setlocale function. the renaming from __setlocale_mb_len_max_32 to __setlocale50 occured in NetBSD include/locale.h in rev 1.17, which was in 2010, and shipped in NetBSD 6 in 2012.
git-svn-id: trunk@43118 -
2019-10-04 11:28:10 +00:00
svenbarth
f46b8539d0 * implement FileSymLinkGetTarget for *nix systems
git-svn-id: trunk@43113 -
2019-10-03 12:07:33 +00:00
svenbarth
2a38d07d8f * implement FollowLink=False handling for DirectoryExists and FileExists on *nix systems
git-svn-id: trunk@43112 -
2019-10-03 12:07:28 +00:00
svenbarth
46dac1419e * fix FileExists on *nix systems returning True for directories
git-svn-id: trunk@43111 -
2019-10-03 12:07:25 +00:00
svenbarth
3dbbb18649 * Delphi raises a EDirectoryNotFoundException if the link's target does not exist, so do the same
git-svn-id: trunk@43110 -
2019-10-03 12:07:20 +00:00
svenbarth
35452fc670 * use the name of the target so that the correct attributes are retrieved (namely those of the target)
git-svn-id: trunk@43109 -
2019-10-03 12:07:16 +00:00
svenbarth
b289805a91 * correctly copy Size and Attr values when converting from one T*SymLinkRec to the other
git-svn-id: trunk@43108 -
2019-10-03 12:07:13 +00:00
svenbarth
178146f06c - TRawByteSymLinkRec.Name is not required (and TUnicodeSymLinkRec doesn't have it either)
git-svn-id: trunk@43107 -
2019-10-03 12:07:09 +00:00
michael
db4bc06b67 * dlinfo call added (bug ID 0036105)
git-svn-id: trunk@43097 -
2019-09-29 22:28:47 +00:00
florian
56d91b4ca7 + support tls threadvars with the internal assembler
git-svn-id: trunk@43070 -
2019-09-25 21:19:03 +00:00
florian
f6667a5143 * we have to use __tls_get_addr from the dyn. linker lib else tls on programs with pure pascal dyn. libraries fail
git-svn-id: trunk@43069 -
2019-09-25 21:19:01 +00:00
florian
5ed2475c85 * InitThread variant without parameters as user threads normally cannot know the max. stack size
git-svn-id: trunk@43068 -
2019-09-25 21:19:01 +00:00
pierre
ee22dbe589 Handle change of memory base address after call to SysTryResizeMem
git-svn-id: trunk@43062 -
2019-09-24 12:44:01 +00:00
svenbarth
a00be912aa * fix regression introduced with r42240: packed sets for the Integer based variants of SetToString/StringToSet need to be shifted on Big Endian systems
git-svn-id: trunk@43048 -
2019-09-21 14:36:19 +00:00
pierre
912bc1e65b + Add math unit dependency to types$(PPUEXT) rule.
* Fix missing close-brace in several types$(PPUEXT) rules.

git-svn-id: trunk@43042 -
2019-09-19 20:49:12 +00:00
pierre
5cc4f0be20 Fix bug report #36081: fix cycling starting with i386-linux 3.0.4 release compiler
git-svn-id: trunk@43029 -
2019-09-18 07:45:47 +00:00
florian
94832d5eea * fixed define
git-svn-id: trunk@43027 -
2019-09-17 18:42:40 +00:00
Jonas Maebe
13902c1c7a * fixed compilation for __ARM_EABI_UNWINDER__ with -dexcdebug
git-svn-id: trunk@43015 -
2019-09-15 17:26:21 +00:00
florian
719ff5fb4c * converted _FPC_libc21_haltproc into a pascal subroutine so stack alignment is kept
git-svn-id: trunk@43013 -
2019-09-15 17:17:32 +00:00
florian
3e6e72118b * keep stack aligned to 16 byte boundaries in assembler subroutines calling other subroutines
git-svn-id: trunk@43012 -
2019-09-15 17:17:31 +00:00
florian
1872bee116 * stack checking checks also proper alignment
git-svn-id: trunk@43011 -
2019-09-15 17:17:30 +00:00
florian
bd35c02257 * cosmetics: indention
git-svn-id: trunk@43010 -
2019-09-15 17:17:30 +00:00
Jonas Maebe
617cc6984b * call DoUnhandledException instead of RunError(217) when the the psabi eh
unwinder returns an error (this is usually because there is no outer
    exception catching frame anymore -> unhandled exception) (based on patch by
    Cyrax, mantis #35751)

git-svn-id: trunk@42999 -
2019-09-14 17:30:53 +00:00
marco
bcabeb36a1 * another input fix.
git-svn-id: trunk@42996 -
2019-09-14 15:28:55 +00:00
marco
14d92d9ece * declaring an identifier "INPUT" is never wise. Thanks Marcus.
git-svn-id: trunk@42995 -
2019-09-14 15:27:46 +00:00
marco
3bae3a4aa4 * input related functions and structs, based on Mantis #35064
git-svn-id: trunk@42994 -
2019-09-14 13:11:55 +00:00
marco
01bc1ed80e * fix for mantis #36064, pack printdlg only ifndef win64
git-svn-id: trunk@42976 -
2019-09-12 07:50:34 +00:00
Jeppe Johansen
05c4f45596 * Fix exitcode handling for avrsim target. Patch by Christo Crause
git-svn-id: trunk@42940 -
2019-09-07 20:21:16 +00:00
florian
ed688aceee * remove packed from tdynarray, it is not needed and especially 64 bit CPUs which require proper aligment, suffer from it
git-svn-id: trunk@42920 -
2019-09-04 20:45:23 +00:00
florian
078595be4c + support for software floating point exception handling on AArch64 (-CE)
git-svn-id: trunk@42891 -
2019-09-01 17:26:11 +00:00
marco
8dddf8a525 * patch from Ondrej, TVerticalAlignment & TTopBottom
git-svn-id: trunk@42813 -
2019-08-25 09:37:21 +00:00
svenbarth
7e1607e095 * correct alignment for the property table
git-svn-id: trunk@42808 -
2019-08-24 23:08:36 +00:00
svenbarth
2dc771b7ba * TClassData also needs alignment dummies
git-svn-id: trunk@42807 -
2019-08-24 23:08:33 +00:00
svenbarth
2002650a23 * small corrections (grammar, casing, typo) for the comment for TCallConv
git-svn-id: trunk@42802 -
2019-08-24 23:08:17 +00:00
michael
91ba1214d2 * Allow context when sorting lists (patch from Ondrej Pokorny, bug ID #0035962)
git-svn-id: trunk@42798 -
2019-08-24 10:46:51 +00:00
svenbarth
c1e3c61af3 * don't call the memory manager's functions, but instead call the Sys* functions directly
git-svn-id: trunk@42797 -
2019-08-24 10:37:20 +00:00
svenbarth
f88a98e976 * heaptrc should not rely on the original SysAllocMem calling the heaptrace memory manager's functions
git-svn-id: trunk@42796 -
2019-08-24 10:37:16 +00:00
svenbarth
00a418f589 * also correctly align the pointer for the record elements inside FPC_COPY
git-svn-id: trunk@42781 -
2019-08-23 21:57:17 +00:00
svenbarth
db2a5285a9 * fix for Mantis #35988: the internal heap uses directly the Sys* functions, not the memory manager
git-svn-id: trunk@42774 -
2019-08-23 14:59:15 +00:00
svenbarth
8e8ffa0511 * fix a rather annoying typo
git-svn-id: trunk@42772 -
2019-08-23 14:59:10 +00:00
michael
ee6c426e05 * Fix bug ID #0035596: better detection of vcs device
git-svn-id: trunk@42766 -
2019-08-23 06:45:11 +00:00
svenbarth
707e05d131 * check for CPUM68k instead of M68K; the latter should only be defined when building the compiler, so I wonder how that ever worked...
git-svn-id: trunk@42765 -
2019-08-22 20:45:48 +00:00