Commit Graph

56514 Commits

Author SHA1 Message Date
Jeppe Johansen
4b93eb64b3 - Split division routines out into an include file.
- Reuse division routines for calculating both division and modulus.
- Add implementations of BsfByte and BsrByte that don't use a lookup table.

git-svn-id: trunk@42494 -
2019-07-25 14:56:18 +00:00
Jeppe Johansen
ff3372567f - Applied patch by Christo Crause from #33914
git-svn-id: trunk@42493 -
2019-07-25 13:24:10 +00:00
Jeppe Johansen
030cf78ac5 - Fix overflow checking for multiplication operations on AVR.
git-svn-id: trunk@42492 -
2019-07-25 13:16:12 +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
svenbarth
5313f6e9af * fix Currency comparison... again...
git-svn-id: trunk@42490 -
2019-07-24 20:32:22 +00:00
svenbarth
797e336222 * fix writing of floating point attribute parameters
git-svn-id: trunk@42489 -
2019-07-24 20:32:17 +00:00
svenbarth
4c338b1f70 * generate correctly aligned string RTTI, fixes trtti7 on ARM
git-svn-id: trunk@42488 -
2019-07-23 20:53:54 +00:00
svenbarth
0c27ea83be * we halt if the currency values are *not* equal, not if they're equal... m(
git-svn-id: trunk@42487 -
2019-07-23 20:53:50 +00:00
florian
73acb4d1c1 * fixes TInterfaceRawData to match TTypeData
git-svn-id: trunk@42486 -
2019-07-23 19:59:34 +00:00
nickysn
a3a39e1640 * i8086 compilation fix after changeset 42390
git-svn-id: trunk@42485 -
2019-07-23 11:57:20 +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
Jonas Maebe
6eafee72d7 - fixed check for determining whether requesting the size of an array is
an invalid operation after r42479, as regular arrays can have high=-1
    (mantis #35874, already checked by trange3)

git-svn-id: trunk@42482 -
2019-07-22 12:06:26 +00:00
Jonas Maebe
18dfdb423e * don't apply user-specified constant alignments to RTTI data
git-svn-id: trunk@42481 -
2019-07-22 12:06:22 +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
aac8559a8d * some runtime errors fixed, if compiled with -CrR
git-svn-id: trunk@42479 -
2019-07-21 12:25:55 +00:00
Jonas Maebe
83611b83cc * reverted r42463, the internalerrors were caused by a bug in the LLVM typed
constant builder

git-svn-id: trunk@42478 -
2019-07-21 11:07:02 +00:00
Jonas Maebe
e7fbebfef5 * fixed field alignment when reusing an anonymous recorddef for LLVM and
the LLVM layout of an instance does not match the original one
    (e.g. because it contains procdefs of procedures with different
     signatures)

git-svn-id: trunk@42477 -
2019-07-21 11:06:54 +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
Mattias Gaertner
4d0e7cd1d4 pastojs: filer: GenericTemplateTypes
git-svn-id: trunk@42475 -
2019-07-20 20:45:58 +00:00
Mattias Gaertner
8206049dc1 pastojs: less hints
git-svn-id: trunk@42474 -
2019-07-20 20:14:52 +00:00
Mattias Gaertner
93c130979f fcl-passrc: check generic constraint
git-svn-id: trunk@42473 -
2019-07-20 20:14:15 +00:00
Mattias Gaertner
f35e711024 fcl-passrc: fixed parsing generic array type
git-svn-id: trunk@42472 -
2019-07-20 20:13: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
c282f21b1b * don't bother finding the correct constructor if the attribute isn't a TCustomAttribute descendant anyway; simply skip the parameters in that case
+ added tests

git-svn-id: trunk@42470 -
2019-07-20 19:46:03 +00:00
svenbarth
6cde8ab4cb * fix for Mantis #35866: parse_paras does not check whether the expressions are really constant, so check that manually
+ added test

git-svn-id: trunk@42469 -
2019-07-20 19:45:59 +00:00
Mattias Gaertner
75321c848d fcl-passrc: fixed parsing generic function after type section
git-svn-id: trunk@42468 -
2019-07-20 18:22:00 +00:00
marco
ed2dbc19e7 * lookup property published but not stored. Doesn't change much, but less trouble when opening/dualmaintaining delphi forms.
git-svn-id: trunk@42467 -
2019-07-20 14:40:34 +00:00
michael
a670360d08 * Change resource string file to .jrs, to avoid confusion with FPC format
git-svn-id: trunk@42466 -
2019-07-20 13:59:59 +00:00
michael
9d67784a18 * Write -Jr help
git-svn-id: trunk@42465 -
2019-07-20 12:11:04 +00:00
Jonas Maebe
145f4299b4 * search dynamic string data record in correct symtable in
tllvmtai_typedconstbuilder.emit_string_offset
   o fixes LLVM internalerror 2014080406 for test/tcustomattr14

git-svn-id: trunk@42464 -
2019-07-20 12:08:59 +00:00
Jonas Maebe
12e63d8a2c * don't reuse defs for attribute lists or individual attributes with parameters, as
they don't have a constant size
   o fixes LLVM internalerror 2015122402 for test/tcustomattr{12,13,19}

git-svn-id: trunk@42463 -
2019-07-20 12:08:55 +00:00
michael
17b6fc07f9 * Write resource strings to file for easy translation
git-svn-id: trunk@42462 -
2019-07-20 11:52:59 +00:00
svenbarth
c26348a3dd * follow up to r42457: FreeTerminateProcs needs to be called before DoneExceptions just in case an exception is triggered due to a corrupted list
git-svn-id: trunk@42461 -
2019-07-20 08:41:59 +00:00
svenbarth
900fd35f4a * increase PPU version now that all generic procdefs store their local symtables
git-svn-id: trunk@42460 -
2019-07-19 15:58:42 +00:00
svenbarth
43b5dbf613 * fix for Mantis #23071: also store local symtable in the PPU if the procdef is generic as we need it to resolve genericdefs to nested types
git-svn-id: trunk@42459 -
2019-07-19 15:55:28 +00:00
svenbarth
4d6844e731 * fix test on systems where Currency is calculated using floating point types
git-svn-id: trunk@42458 -
2019-07-19 15:55:25 +00:00
svenbarth
176a63b67b * fix for Mantis #35862: free the list of functions added with AddTerminateProc to avoid memory leaks
+ added test

git-svn-id: trunk@42457 -
2019-07-19 15:55:21 +00:00
svenbarth
48d0ab1af9 * fix for Mantis #35744: applied patch by Anton Kavalenka to correctly implement FileGetSymLinkTarget
git-svn-id: trunk@42456 -
2019-07-19 15:55:15 +00:00
svenbarth
48b8110e38 * disable UCS4String if dynamic arrays are disabled
git-svn-id: trunk@42455 -
2019-07-19 11:52:51 +00:00
Mattias Gaertner
41fa84a355 pastojs: filer: TPasProcedure.NameParts
git-svn-id: trunk@42454 -
2019-07-18 09:57:29 +00:00
Mattias Gaertner
c6aaa3f1e6 pastojs: clean up
git-svn-id: trunk@42453 -
2019-07-18 09:57:06 +00:00
marco
6ca93e294f * SecsPerHour, delphi compatibility.
git-svn-id: trunk@42452 -
2019-07-17 21:15:17 +00:00
Mattias Gaertner
5d4ae23df8 fcl-passrc: store generic procedure templates
git-svn-id: trunk@42451 -
2019-07-17 16:35:30 +00:00
michael
3b1c2061f5 * Some small refactoring
git-svn-id: trunk@42450 -
2019-07-16 09:05:57 +00:00
florian
f04afdd5ea * compilation fixed
git-svn-id: trunk@42449 -
2019-07-14 21:40:29 +00:00
florian
3206ac3508 * properly align rtti for orddefs
git-svn-id: trunk@42448 -
2019-07-14 21:29:30 +00:00
Jonas Maebe
d8903ce6b3 - removed maxcrecordalign parameter/field from recordsymtables, as this value
cannot be modified in the settings (so we can directly use the one from
    current_settings)

git-svn-id: trunk@42447 -
2019-07-14 19:24:32 +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
Mattias Gaertner
3cd000b939 pastojs: optimized ord(const) to const
git-svn-id: trunk@42445 -
2019-07-14 11:22:40 +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