Commit Graph

3646 Commits

Author SHA1 Message Date
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