Commit Graph

518 Commits

Author SHA1 Message Date
Pierre Muller
5913434ba9 Add DISABLE_SYSTEMINLINE check to be able to avoid setting SYSTEMINLINE macro 2022-09-20 22:39:28 +01:00
Nikolay Nikolov
c9ed14f87b + enable the 64-bit SAR instruction on the WebAssembly target 2022-05-27 22:56:05 +03:00
Nikolay Nikolov
b6aaa06f83 + enable the ROL/ROR instructions for WebAssembly 2022-05-27 22:46:32 +03:00
Pierre Muller
fbed068048 Set float type information in system interface part for mips64 and mips64el CPUs 2022-02-04 20:00:40 +00:00
Tomas Hajny
9f6651fdb7 + added Get/SetTextAutoFlush feature
git-svn-id: trunk@49324 -
2021-05-02 14:59:21 +00:00
Károly Balogh
45b5e9215c rtl: remove defines for v2.x compiler from the common part of the RTL. It's no longer suppported to build with that
git-svn-id: trunk@49036 -
2021-03-23 09:32:49 +00:00
nickysn
800bb3adc2 * instead of using discardresult, wrap the uniquestring functions in procedures,
that are declared as inline

git-svn-id: trunk@49016 -
2021-03-19 21:13:20 +00:00
nickysn
df947d3ae8 * fixed rtl compilation with FPC 3.2.0 starting compiler
git-svn-id: branches/wasm@48305 -
2021-01-22 00:48:44 +00:00
nickysn
7e958e0a35 + introduced the discardresult directive and declared the UniqueString()
overloads, using this directive

git-svn-id: branches/wasm@48283 -
2021-01-21 21:42:07 +00:00
nickysn
4c85306f69 + added wasm32 type defines
git-svn-id: branches/wasm@47957 -
2021-01-02 07:58:33 +00:00
Károly Balogh
05d680902e * make sure things still build with 3.0 after r47353
git-svn-id: trunk@47359 -
2020-11-09 00:24:29 +00:00
svenbarth
c496b609d1 * fix for Mantis #38051: make Chr() a real intrinsics so that it can be used in type declarations as well
+ added test

git-svn-id: trunk@47353 -
2020-11-08 22:23:02 +00:00
svenbarth
ac36eec71a * protect GetFullName with FPC_HAS_FEATURE_UNICODESTRINGS instead of _WIDESTRINGS
git-svn-id: trunk@47294 -
2020-11-03 19:25:32 +00:00
pierre
e80b1d9e70 Put GetFullName functions inside $ifdef FPC_WIDESTRING_EQUAL_UNICODESTRING
git-svn-id: trunk@47287 -
2020-11-03 07:13:59 +00:00
florian
408fc819b3 + initial implementation of a FullName field in file records to overcome length limitions of the name field
git-svn-id: trunk@47263 -
2020-10-31 19:54:40 +00:00
florian
1bf58c2a55 + introduce TExitCode
git-svn-id: trunk@47029 -
2020-10-01 20:33:02 +00:00
florian
1e4dc56155 * inlinable frame handling dummies for avr
* inline frame handler if possible

git-svn-id: trunk@47025 -
2020-09-30 21:18:33 +00:00
florian
7f53d04ffd + xtensa: make use of nsau to implement Bsr*
git-svn-id: trunk@46963 -
2020-09-26 22:03:13 +00:00
florian
832c3d89c8 * Xtensa: disable simple random again, committed by accident
git-svn-id: trunk@46552 -
2020-08-22 20:36:26 +00:00
florian
04846345b2 * Xtensa: more fixes to tcg64fxtensa.a_op64_const_reg_reg and tcg64fxtensa.a_op64_reg_reg_reg
git-svn-id: trunk@46551 -
2020-08-22 20:33:30 +00:00
yury
aa633544f1 * Added a simple implementation of random. It is TP/Delphi compatible. Enabled it for 8/16 bit CPUs by default.
git-svn-id: trunk@46266 -
2020-08-05 16:29:07 +00:00
pierre
adf064cbb4 New: rtl/inc/genmathh.inc source file, to provide a unique position
for the interface definition of float64 and float32 records,
  available to all systems if FPUNONE is not defined.

  rtl/inc/genmath.inc: Remove float64/float32, as they are now in rtl/inc/genmathh.inc
  rtl/inc/softfpu.pp: Use provided definitions of float32 and float64
  if available (by checking presence of FPC_SYSTEM_HAS_floatXX macro)

  rtl/inc/systemh.inc: include genmathh.inc if FPUNONE is not defined.
  rtl/java/jsystemh_types.inc: Likewise.

git-svn-id: trunk@45821 -
2020-07-21 14:24:14 +00:00
florian
bc1b7960ec * patch by Bi0T1N: fix result type of InterlockedCompareExchange64 for QWord, resolves #37186
git-svn-id: trunk@45647 -
2020-06-13 19:14:20 +00:00
Jonas Maebe
f9672b53a2 - removed old float-to-string and string-to-float conversion code
git-svn-id: trunk@45401 -
2020-05-17 14:05:38 +00:00
pierre
3aa253c11d Allow system unit to be compiled without RTTI feature
git-svn-id: trunk@45351 -
2020-05-13 09:10:23 +00:00
nickysn
fe05a87a27 * made ErrOutput/StdErr a true alias of Output/StdOut to save memory
git-svn-id: branches/z80@45134 -
2020-04-26 23:10:08 +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
nickysn
48b4cc34cb * synchronized with trunk
git-svn-id: branches/z80@44414 -
2020-03-29 23:04:40 +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
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
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
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
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
e332c17bbd * some inconsistency regarding FPC_NONE usage fixed
git-svn-id: trunk@43770 -
2019-12-24 16:14:30 +00:00
svenbarth
48b8110e38 * disable UCS4String if dynamic arrays are disabled
git-svn-id: trunk@42455 -
2019-07-19 11:52:51 +00:00
svenbarth
46a8afb50d + declare Pointer types for the remaining Boolean types
git-svn-id: trunk@42032 -
2019-05-10 15:25:08 +00:00
Jonas Maebe
0b246f3dbd * converted Boolean8 to an internal type, and mapped Boolean to the
new internal pasbool1(type) (part of mantis #34411)
   o apply the _Bool x86-64 parameter passing rules only to pasbool1

git-svn-id: trunk@39949 -
2018-10-16 21:14:18 +00:00
florian
a34d4e715c Merged riscv_new branch
git-svn-id: trunk@39813 -
2018-09-26 19:49:08 +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
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
marco
096e7d7513 * add prawbytestring.
git-svn-id: trunk@39662 -
2018-08-22 12:26:42 +00:00
Jeppe Johansen
ceb38833f2 Added RiscV32/64 target, from a cleaned up version of branches/laksen/riscv/trunk.
git-svn-id: branches/laksen/riscv_new@39474 -
2018-07-20 08:21:15 +00:00
nickysn
26a3ac3fd4 * moved the fpc_in_x86_*port* constants to the system unit in cpuinnr.inc in the
i8086, i386 and x86_64 rtl directories. This is done for consistency with
  other compiler internal function numbers (which are declared in innr.inc).

git-svn-id: trunk@39367 -
2018-07-03 21:30:43 +00:00
marco
43d7b23555 * fix for #33817, also p* marshalledstring for Delphi compat.
git-svn-id: trunk@39165 -
2018-06-04 10:58:23 +00:00
michael
e46b89c8bb * Patch from Ondrej Pokorny to fix camelcase (bug ID 4b46872)
git-svn-id: trunk@38619 -
2018-03-24 14:39:56 +00:00