Commit Graph

56498 Commits

Author SHA1 Message Date
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
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
04a50733ad * get rid of the scanner message for attributes for real this time (sometimes I *really* hate Git -.-)
git-svn-id: trunk@42413 -
2019-07-13 09:37:44 +00:00
Károly Balogh
4d6b8a6c45 fixed the messy state of messages after recent custom attributes merge. fixed a typo, fixed double definition of message 3350, restored a message that was removed but still used, so the build passes at least.
git-svn-id: trunk@42412 -
2019-07-13 07:34:07 +00:00
svenbarth
6db674cd02 * regenerate msg*.inc files
git-svn-id: trunk@42411 -
2019-07-12 22:08:22 +00:00
svenbarth
b7a8dd9479 * adjust error message when attributes are unbound
git-svn-id: trunk@42410 -
2019-07-12 22:08:17 +00:00
svenbarth
87458a065c * allow use of multiple, comma separated attributes as Delphi allows that as well
+ added test

git-svn-id: trunk@42409 -
2019-07-12 22:08:14 +00:00
svenbarth
6d0c470a40 * check for unbound attributes inside classes (currently they are only allowed for published properties)
Note: no tests yet as sooner or later most will be dropped once extended RTTI is added

git-svn-id: trunk@42408 -
2019-07-12 22:08:10 +00:00
svenbarth
98b1b04951 * free unbound attributes
git-svn-id: trunk@42407 -
2019-07-12 22:08:07 +00:00
svenbarth
90bec938f6 * don't free the constructor call in trtti_attribute_list as that is already freed in the destructor of trtti_attribute
git-svn-id: trunk@42406 -
2019-07-12 22:08:04 +00:00
svenbarth
404b465c33 * allow custom attributes for all type declarations that are not a simple alias
+ added tests

git-svn-id: trunk@42405 -
2019-07-12 22:08:00 +00:00
svenbarth
80ebb98431 * correct identation (no code changes)
git-svn-id: trunk@42404 -
2019-07-12 22:07:57 +00:00
svenbarth
9dbd155131 * use two empty lines between method definitions (no code changes)
git-svn-id: trunk@42403 -
2019-07-12 22:07:54 +00:00
svenbarth
a72553eea2 * disable [...] syntax for procedure directives if modeswitch "prefixed attributes" is enabled; they conflict otherwise and it's not easily resolveable
+ added test

git-svn-id: trunk@42402 -
2019-07-12 22:07:50 +00:00
svenbarth
b945e66e28 * store attribute information in PPU; this is less important for the compiler, but more for e.g. Lazarus when dealing with binary only units
* increase ppu version
+ added test
* adjust ppudump to handle attributes as well
ToDo: output parameter nodes as well

git-svn-id: trunk@42401 -
2019-07-12 22:07:46 +00:00
svenbarth
8ce4f9606d * explicitely store the procdef of the picked constructor of the attribute
git-svn-id: trunk@42400 -
2019-07-12 22:07:41 +00:00
svenbarth
dfb9fffcf9 + add functions for syms and defs and write sub entries of the sym/def to PPU and loads them again
git-svn-id: trunk@42399 -
2019-07-12 22:07:38 +00:00