svenbarth
d51213d26a
* adjust softfpu unit so that it can be really used as a standalone unit instead of mainly as part of the System unit
...
git-svn-id: trunk@47193 -
2020-10-25 10:18:18 +00:00
florian
4afa4a73c6
+ ISO mode: accept put/get without parameter, works on Input/Output respectively, resolves #37949
...
git-svn-id: trunk@47147 -
2020-10-20 21:03:51 +00:00
Jonas Maebe
d0d07dc3bf
* naturally align threadvar lists/tables
...
o required for (future) Darwin arm64e target, and a good idea elsewhere too
(on constrained targets, it won't make a difference because the alignment
of pointers won't be > sizeof(longint))
git-svn-id: trunk@47115 -
2020-10-15 20:29:32 +00:00
florian
c9fcc68ec1
* enable the compiler to optimize away parts of System.PushExceptObject, if System.get_frame is not implemented, i.e. returning nil
...
git-svn-id: trunk@47058 -
2020-10-06 19:43:17 +00:00
florian
e718cb985e
* replace some longint by ObjpasInt
...
git-svn-id: trunk@47047 -
2020-10-04 20:50:39 +00:00
florian
af20b064ed
* make framecount and framebufsize dependent on the pointer size
...
git-svn-id: trunk@47030 -
2020-10-01 20:33:03 +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
40d9b1108a
* add VUString branch to tvardata, resolves #37651
...
git-svn-id: trunk@46957 -
2020-09-26 15:35:20 +00:00
Tomas Hajny
a71f87357d
* simplified version of SeekEof for improved TP/BP/Delphi compatibility by Andrey 'Croco' Stolyarov as fix for #37716 , plus a new test for testing the compatibility
...
git-svn-id: trunk@46946 -
2020-09-24 19:33:28 +00:00
pierre
d52aaf63eb
msxdos target uses same __fpc_envp symbol as msdos
...
git-svn-id: trunk@46935 -
2020-09-24 09:48:49 +00:00
florian
e33f794eb6
* correctly handle eof in typed files in iso mode
...
git-svn-id: trunk@46918 -
2020-09-22 19:51:43 +00:00
florian
449cc8f152
* make use of AllocMem in fpc_dynarray_setlength
...
git-svn-id: trunk@46900 -
2020-09-19 21:06:11 +00:00
svenbarth
0c316deab5
* readd SmallInt typecasts to SmallInt overload of SwapEndian
...
git-svn-id: trunk@46898 -
2020-09-19 17:42:04 +00:00
svenbarth
9d86fed95b
* avoid range check error when using SwapEndian with 16-bit constants
...
+ added test
git-svn-id: trunk@46897 -
2020-09-19 17:04:17 +00:00
svenbarth
15141124f4
* restore ability to cycle with 3.0.4 (at least until 3.2.2 is released) after r46890
...
git-svn-id: trunk@46895 -
2020-09-19 13:54:25 +00:00
svenbarth
d3e18ccb5e
* fix for Mantis #37221 : apply adjusted patch by Ondrej Pokorny to allow the use of Copy() on open array parameters (the result will be a dynamic array)
...
+ added test
git-svn-id: trunk@46890 -
2020-09-18 15:00:10 +00:00
florian
f8c1df0852
* ISO mode: handle typed files as text files regarding naming/program parameters, resolves #37415
...
git-svn-id: trunk@46865 -
2020-09-14 20:16:08 +00:00
Tomas Hajny
1eb11a2a29
* fix for problem with commit 46853
...
git-svn-id: trunk@46864 -
2020-09-14 05:30:59 +00:00
Tomas Hajny
3c9257300d
* fix for bug #37716 by Andrey 'Croco' Stolyarov
...
git-svn-id: trunk@46853 -
2020-09-11 23:43:32 +00:00
pierre
1e8aa99f81
* Disable range and overflow checking inside softfpu implementation
...
git-svn-id: trunk@46682 -
2020-08-25 06:34:29 +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
michael
213d2905df
* Change some methods from using var to using out (bug ID 37376)
...
git-svn-id: trunk@46533 -
2020-08-21 10:44:48 +00:00
michael
82346563c1
* Add StoredAttribute class, bug ID #37602
...
git-svn-id: trunk@46506 -
2020-08-20 12:06:14 +00:00
michael
8bc2326b77
* Fix bug #37601 : add some attribte definitions
...
git-svn-id: trunk@46505 -
2020-08-20 11:53:43 +00:00
yury
9d41a435c2
* tinyheap: Disable inline when FPC_TINYHEAP_HUGE is defined to prevent code bloat.
...
git-svn-id: trunk@46492 -
2020-08-19 10:48:00 +00:00
ondrej
cfff96f44c
FExpand: always uppercase drive letter also in BasePath
...
git-svn-id: trunk@46353 -
2020-08-10 20:42:13 +00:00
yury
ec10ee8218
* Improved generic implementations of fpc_mul_dword, fpc_mul_word, fpc_mul_byte to use less iterations and registers.
...
git-svn-id: trunk@46269 -
2020-08-05 17:58:46 +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
florian
7281ea7a2c
* floating point division by zero should throw run time error 208, fixed
...
git-svn-id: trunk@46210 -
2020-08-03 19:42:16 +00:00
yury
6edbc9ed7e
* tinyheap: Early check for very big requested mem sizes in order to prevent overflows and properly report the out of memory error.
...
git-svn-id: trunk@45844 -
2020-07-24 16:02:13 +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
a57f3ba396
* patch by Sergey Larin to handle Native(U)Int conversions from/to variants, resolves #37339
...
git-svn-id: trunk@45797 -
2020-07-16 20:44:30 +00:00
pierre
7020490f81
Put floating point type as first variant of floatXX definitions, to ensure correct alignment
...
git-svn-id: trunk@45780 -
2020-07-13 14:13:13 +00:00
pierre
834dbf5f80
Also use union with double field to ensure correct alignment for float64 type from genmath.inc source
...
git-svn-id: trunk@45779 -
2020-07-13 13:18:32 +00:00
pierre
60c187e169
Make sure that we do not read passed the end of OPTSTRING variable
...
git-svn-id: trunk@45736 -
2020-07-06 20:56:14 +00:00
marco
41406d161c
* fix for mantis #37233 crash in getopts.getlongopts with empty shortopts argument
...
git-svn-id: trunk@45683 -
2020-06-23 09:01:37 +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
florian
dbd14206c9
* compilation on targets without fpu fixed
...
git-svn-id: trunk@45638 -
2020-06-11 17:30:12 +00:00
florian
20f6514d97
* fix compilation for non 64 Bit targets
...
git-svn-id: trunk@45636 -
2020-06-10 21:05:18 +00:00
florian
50c48349d5
* check properly for i/o errors in the iso read helpers, resolves #37154
...
* CheckRead checks if reading caused an I/O error and returns false in this case
git-svn-id: trunk@45635 -
2020-06-10 20:47:58 +00:00
ondrej
533312c619
Variants: fix letter case in variant type names
...
git-svn-id: trunk@45573 -
2020-06-03 07:02:15 +00:00
svenbarth
e82b9c3b2e
* disable the new FindResource(Ex) overloads for Win16 for now (the one with PChar is disabled as well); this will need to be revisited once Win16 receives proper resource support
...
git-svn-id: trunk@45489 -
2020-05-24 19:43:36 +00:00
svenbarth
1d4bbcef75
+ add additional overloads for FindResource and FindResourceEx so that mixtures of AnsiString and MAKEINTRESOURCE types as well as names can be used
...
+ added test for ReadComponentRes (which called the wrong FindResource before)
git-svn-id: trunk@45479 -
2020-05-23 21:24:01 +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
5b24267529
* reduced the stack margin for stack checking to 64 bytes on the Z80
...
git-svn-id: trunk@45168 -
2020-04-29 01:22:22 +00:00
svenbarth
c8b7094378
* fix for Mantis #36940 : apply (adjusted) patch by Bi0T1N to add functionality to the thread manager to set a thread's debug name (if supported by the platform)
...
git-svn-id: trunk@45160 -
2020-04-28 19:58:20 +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
nickysn
9c7f1a7cab
* synchronized with trunk
...
git-svn-id: branches/z80@45046 -
2020-04-24 03:30:29 +00:00
yury
8d95da3fea
* Windows: Reworked handling of command line arguments to properly support Unicode:
...
- Use the CommandLineToArgvW API function to parse the Unicode command line (we can use it since Win9x is not supported anymore).
- Implemented non-public functions ParamStrA and ParamStrU which are exposed in the objpas and uuchar units to provide correct AnsiString and UnicodeString versions of ParamStr().
- The cleanup code is moved from InternalExit to the finalization section of the System unit.
git-svn-id: trunk@45037 -
2020-04-23 12:38:42 +00:00
nickysn
a189ea4b0b
* synchronized with trunk
...
git-svn-id: branches/z80@45010 -
2020-04-22 22:43:31 +00:00
yury
0f4ddf7b34
* Do not report about unimplemented unicodestring manager when HAS_WIDESTRINGMANAGER is defined (on Windows). In such case unimplemented parts are never executed unless you call them directly.
...
* Do not assign DefaultGetStandardCodePage when HAS_WIDESTRINGMANAGER is defined (on Windows).
git-svn-id: trunk@44995 -
2020-04-22 09:13:20 +00:00
nickysn
86643f8a34
* synchronized with trunk
...
git-svn-id: branches/z80@44981 -
2020-04-21 23:36:44 +00:00
yury
c3954a0cee
* Fixed r44960. Also copy a trailing implicit #0 of the original string to the new larger string.
...
git-svn-id: trunk@44970 -
2020-04-21 18:55:24 +00:00
yury
1e32b96bc2
* Minor improvement. No need to move the terminating null char, since it is written later anyway. Remove a local var.
...
git-svn-id: trunk@44960 -
2020-04-21 14:18:35 +00:00
nickysn
611ac9076b
* synchronized with trunk
...
git-svn-id: branches/z80@44671 -
2020-04-09 22:01:59 +00:00
michael
a678192c11
* Use ansistrings for options. (bug ID 36892)
...
git-svn-id: trunk@44664 -
2020-04-09 21:05:59 +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
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
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
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
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
ondrej
34fecf90f3
SysUtils: add ExpandFileName with a BasePath overload
...
git-svn-id: trunk@43928 -
2020-01-13 12:36:35 +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
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
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
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
Jonas Maebe
0f46207776
* fixed (harmless) range error when expanding ~
...
git-svn-id: trunk@43559 -
2019-11-22 21:11:56 +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
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
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
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
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
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
c189af0e3d
* improved software floating point exception handling in the rtl
...
git-svn-id: trunk@43163 -
2019-10-10 20:31:31 +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
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
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
1872bee116
* stack checking checks also proper alignment
...
git-svn-id: trunk@43011 -
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
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
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
0c46460548
* m68k has slightly different alignment requirements, so that aligntoptr might result in incorrect addresses for a record's element entries, thus we introduce a separate AlignTypeData function that handles this correctly
...
git-svn-id: trunk@42764 -
2019-08-22 20:45:45 +00:00
florian
f0213a2c46
+ make use of the mremap syscall of linux to re-allocate large memory blocks faster
...
git-svn-id: trunk@42713 -
2019-08-16 20:47:37 +00:00
svenbarth
10af6fe2fb
* fix for Mantis #35965 : correct alignment also for the class info used to retrieve the unit name
...
+ added test
git-svn-id: trunk@42697 -
2019-08-15 13:29:19 +00:00
pierre
8015bfb5a0
Fix arm specific failure in tw12048
...
git-svn-id: trunk@42657 -
2019-08-12 12:17:00 +00:00
pierre
d6d3e171ce
Try to fix alignment issues in RTTI code for 64-bit targets which require proper alignment
...
git-svn-id: trunk@42549 -
2019-08-01 14:46:56 +00:00
Jeppe Johansen
1b698d319f
- Fix bug in software overflow checking for longint's.
...
- AVR: Fix overflow checking for HW multiplications
git-svn-id: trunk@42531 -
2019-07-30 13:42:26 +00:00
Jonas Maebe
b0683edfcb
* simplified random(int64) code
...
git-svn-id: trunk@42513 -
2019-07-28 12:03:46 +00:00
Jonas Maebe
789f288771
* fixed distribution of random(int64) based on patch by Pangea
...
(mantis #35878 )
git-svn-id: trunk@42508 -
2019-07-28 11:14:58 +00:00
Jeppe Johansen
67bf76c50e
- Fix overflow checking in software multiplication routines. Overflow checking should also be enabled for the unsigned multiplications.
...
- Call FPC_Overflow instead of multiple calls to save on size.
git-svn-id: trunk@42491 -
2019-07-25 12:49:55 +00:00
Jonas Maebe
4bc657a067
* renamed objcbase.BOOL type to objc.ObjCBOOL to prevent name clashes
...
* fixed some signatures in CocoaInt that should refer to ctypes.cbool
but instead used objcbase.(ObjC)BOOL
git-svn-id: trunk@42483 -
2019-07-23 09:08:32 +00:00
florian
a60ab40237
* handle records with managed fields correctly after attribute merge fixes
...
git-svn-id: trunk@42480 -
2019-07-21 14:17:27 +00:00
florian
217ae6e4bb
* more fixes to rtti after attribute branch merging
...
git-svn-id: trunk@42476 -
2019-07-21 08:28:29 +00:00
svenbarth
e97a2cb03e
* tests with Delphi showed that an attribute class must explicitely declare a parameterless constructor if it should be used, cause TCustomAttribute.Create is private
...
Note: this also means that TCustomAttribute itself can not be used as an attribute
* adjusted existing tests
+ added test
git-svn-id: trunk@42471 -
2019-07-20 20:03:38 +00:00
svenbarth
48b8110e38
* disable UCS4String if dynamic arrays are disabled
...
git-svn-id: trunk@42455 -
2019-07-19 11:52:51 +00:00
florian
c932dfaf70
* first bunch of fixes for rtti for arm after attribute commits, fixes mostly alignment issues
...
git-svn-id: trunk@42446 -
2019-07-14 17:45:55 +00:00
svenbarth
c0da39a35d
* Tenum_typedata needs to include the Common record as well
...
git-svn-id: trunk@42438 -
2019-07-13 14:38:24 +00:00
svenbarth
55dfb59631
* TRttiDataCommon is required outside of the RTTI and DynArray include files as well
...
git-svn-id: trunk@42437 -
2019-07-13 14:38:20 +00:00
svenbarth
3ad24c9db8
* as attributes can be part of any type they are best suited in a common part of TTypeData
...
git-svn-id: trunk@42375 -
2019-07-12 22:06:09 +00:00
svenbarth
e296b26e9e
- remove unit info and related code again as that will be handled similar, but differently with dynamic packages
...
git-svn-id: trunk@42369 -
2019-07-12 22:05:47 +00:00
svenbarth
b2932393df
Reintegration of Custom Attributes branch by Joost van der Sluis with patches reworked by Svetozar Belic [patch 1/3]
...
Implemented attributes for class types and properties (based on work by Joost van der Sluis). Added TCustomAttribute - a base class for attributes. Added TUnitInfo record to RTTI. It contains the unit name and unit options (for now only a flag which specifies if the unit contains attributes). Added several tests for attributes.
git-svn-id: trunk@42356 -
2019-07-12 22:04:48 +00:00
Jonas Maebe
789f13eb24
* LLVM-specific support for popcnt
...
git-svn-id: trunk@42311 -
2019-06-30 15:23:36 +00:00
Jonas Maebe
0a91fcb44f
* LLVM-specific support for bsr*/bsf*
...
git-svn-id: trunk@42309 -
2019-06-29 16:27:18 +00:00
Jonas Maebe
c262c5dbc9
* synchronised with trunk till r42256
...
git-svn-id: branches/debug_eh@42257 -
2019-06-20 17:21:34 +00:00
florian
f92b8d1681
* changes shift parameter of shift helpers into ALUUInt, as there is an "and" used anyways, this does not change semantics but reduces register pressure on 8 bit targets
...
git-svn-id: trunk@42200 -
2019-06-09 21:44:18 +00:00
Jonas Maebe
faf75095cd
* synchronised with trunk till r42189
...
git-svn-id: branches/debug_eh@42190 -
2019-06-07 18:24:38 +00:00
Jeppe Johansen
2f501be2a0
Fixed stack checking for embedded target. Based on work by Christo Crause
...
git-svn-id: trunk@42157 -
2019-06-01 19:18:31 +00:00
marco
646d7c2a95
* helper in record to make setting parameters a bit denser.
...
git-svn-id: trunk@42147 -
2019-05-31 10:40:54 +00:00
Jonas Maebe
0cd0e1614b
* synchronised with trunk till r42105
...
git-svn-id: branches/debug_eh@42106 -
2019-05-19 19:24:25 +00:00
Jonas Maebe
aad87820e6
* abstracted registration of library init/fini routines (to be able to add
...
LLVM support)
git-svn-id: trunk@42104 -
2019-05-19 19:20:47 +00:00
Jonas Maebe
9e9a982bfe
* synchronised with trunk till r42095
...
git-svn-id: branches/debug_eh@42096 -
2019-05-18 18:43:51 +00:00
pierre
902ef73c7c
Allways use local pt variable to ameliorate readability of code
...
git-svn-id: trunk@42082 -
2019-05-16 08:24:45 +00:00
Jonas Maebe
1b6425176b
* synchronised with trunk till r42049
...
git-svn-id: branches/debug_eh@42050 -
2019-05-12 18:44:05 +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
3a1fb45315
* synchronised with trunk till r41976
...
git-svn-id: branches/debug_eh@41977 -
2019-05-02 19:44:41 +00:00
pierre
819752c334
Avoid warnings when -v0 is used by using $push/$pop
...
git-svn-id: trunk@41960 -
2019-04-29 14:19:16 +00:00