Commit Graph

56794 Commits

Author SHA1 Message Date
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
svenbarth
352ff5f82a - symbolname field is no longer required
git-svn-id: trunk@42398 -
2019-07-12 22:07:34 +00:00
svenbarth
3a02393584 - remove functionality to get the code block when parsing again (let's open this pandora's box only when really needed...)
git-svn-id: trunk@42397 -
2019-07-12 22:07:31 +00:00