Sven/Sarah Barth
0e9efd07ef
* extend read_anon_type() so that it can take a genericdef as well
2024-04-12 17:34:58 +02:00
Sven/Sarah Barth
550397b982
* fix #40708 : when creating the sub-arraydefs for comma separated arrays, ensure that the new sub array also has the generic related information set up correctly
...
+ added test
2024-04-12 17:34:58 +02:00
Michaël Van Canneyt
05f0ceeb26
* Atributes for class/record methods
2024-03-02 14:15:22 +01:00
Michaël Van Canneyt
2c9870f85a
* Attributes must be assigned only to elements before the first colon
2024-02-29 10:22:19 +01:00
Michaël Van Canneyt
fb821b8c9b
* Allow use of attributes on fields and properties in records and classes
2024-02-25 19:57:39 +01:00
Sven/Sarah Barth
3447512e29
* ensure that "type SomeName = type reference" is still allowed when function references are disabled
...
+ added test
2024-02-23 15:31:38 +01:00
florian
bccc0b195e
* allow type = type ... ; syntax only for previously declared types, avoids also internal error for #40566
2024-02-20 23:14:31 +01:00
florian
dbf6527508
* factor out pointer_dec
2024-01-07 17:32:50 +01:00
Ryan Joseph
2005e3c094
* Apply RTTI directive status to symbol
2024-01-02 07:09:22 +01:00
Sven/Sarah Barth
3f1d62af8e
* fix #40504 : always provide the global enum symbol for anonymous enum types (e.g. as part of a set)
...
+ added test
2023-11-07 20:33:55 +01:00
Sven/Sarah Barth
032cbc54a7
* fix typo in comment
2023-11-07 20:31:04 +01:00
florian
a3f221e189
* allow set type to be a generic parameter, resolves #40453
2023-10-06 21:40:25 +02:00
Michael VAN CANNEYT
f364bb6b11
* Forbid use of string alias in system unit
2023-07-22 08:26:22 +00:00
Michaël Van Canneyt
56006aa002
* Allow widechar sets, reduce to ansichar set
2023-07-22 08:26:22 +00:00
Sven/Sarah Barth
c1ecfc323a
* ensure that a procvar (especially a "REFERENCE TO") begins either with FUNCTION or PROCEDURE
...
+ added test
2023-03-15 23:39:59 +01:00
florian
811c683775
* set rangedef of dyn. arrays correctly, resolves #40149
2023-02-15 22:14:55 +01:00
Sven/Sarah Barth
e1288897f3
* fix #40031 : with support for inline specializations it no longer makes sense to make the parameter symtable of a procedure variable type readonly as there *are* defs that are added to it
...
+ add adjusted test
2022-12-30 23:32:00 +01:00
Sven/Sarah Barth
e050a019a2
* fix #29859 : ensure that it's correctly passed down into generate_specialization whether a unit name was provided for the specialization and if so search the generic only in that unit
...
+ added tests
2022-10-28 17:40:53 +02:00
florian
45bf47ee05
* compilation with -O3 fixed
2022-05-26 22:34:34 +02:00
Sven/Sarah Barth
6299e94c8f
* set the type symbol of the procvar while it is parsed so that a function reference can have itself as part of the parameters or the return type
2022-05-26 21:43:39 +02:00
Sven/Sarah Barth
2ed2c21313
+ add support for parsing function references
2022-05-26 21:42:59 +02:00
Sven/Sarah Barth
0bbfad1add
* apply patch by Blaise.ru:
...
- avoid creation of a dummy typesym just to call parse_var_proc_directives() by introducing a new parse_proctype_directives() that takes a tprocvardef instead of a symbol like the former does
- have parse_var_proc_directives() call parse_proctype_directives() to avoid duplicated code
2022-05-26 21:42:53 +02:00
Sven/Sarah Barth
934e3bba63
* set proctypeoption for procvars
2022-05-26 21:42:52 +02:00
Sven/Sarah Barth
4bc957a1aa
* extend procvar_dec so that procvars don't have to be registered
2022-05-26 21:42:52 +02:00
Sven/Sarah Barth
3aebcccdf2
* allow procvars to not be registered right away
2022-05-26 21:42:52 +02:00
J. Gareth "Curious Kit" Moreton
971b8b9217
* Compiler error is now thrown if record alignment is not a power of 2 or is greater than 64.
2022-05-09 20:03:44 +00:00
Pierre Muller
5acd7a7b83
Rename tsymtable.insert and delete methods to insertsym ands deletesym
2022-05-03 23:00:28 +02:00
florian
6556d18bed
* better fix for #39634 which avoids breaking existing code
2022-04-22 22:08:46 +02:00
Sven/Sarah Barth
4053d59a2c
* fix #39673 : also resolve the dummy symbol in case this isn't a reuse of the current generic's name
...
+ added test
2022-04-22 10:40:58 +02:00
Sven/Sarah Barth
98a942a37e
* move handling of a dummy symbol (mainly either resolving it or generating a suitable error) inside single_type to a nested function as the same code is used multiple times
2022-04-22 10:40:58 +02:00
florian
559fcdf736
* forbid cyclic pointer definitions, resolves #39634
2022-04-21 20:03:05 +02:00
Sven/Sarah Barth
2a5023508a
+ add support for forward declarations of generic classes and interfaces (any implicit pointer type really); fixes #34128
2022-02-18 17:54:23 +01:00
florian
eb7702bea4
+ implement align directive for records, resolves #28927
...
git-svn-id: trunk@47892 -
2020-12-29 18:19:35 +00:00
svenbarth
2a897f5b6b
* apply slightly adjusted patch by Blaise.ru which moves parsing of result types to a separate functions thus ensuring that File types can't be used for procedure variables (just like they already couldn't be used as a result type for normal functions)
...
+ added test
git-svn-id: trunk@47810 -
2020-12-18 13:50:39 +00:00
svenbarth
a1b252538f
* change def parameter of single_type() from var to out (part of patch by Blaise.ru)
...
git-svn-id: trunk@47809 -
2020-12-18 13:50:36 +00:00
svenbarth
d29f95d9e1
* apply patch by Blaise.ru to allow specializations for the result type of function and method variables
...
+ added tests
git-svn-id: trunk@47795 -
2020-12-16 21:43:30 +00:00
svenbarth
60345366f2
* fix for Mantis #35140 : apply patch by Ryan Joseph together with some further changes by me to add support for constant parameters in generics
...
+ added tests
git-svn-id: trunk@45080 -
2020-04-25 22:12:35 +00:00
florian
d8f1aacd78
* better error recovery, resolves #36377
...
git-svn-id: trunk@43612 -
2019-11-29 22:13:17 +00:00
florian
fb4b1cbf35
* warn only in delphi mode if an explicit enumeration value exceeds the range, relaxes r43191
...
git-svn-id: trunk@43590 -
2019-11-25 20:58:20 +00:00
florian
626ef4ae0c
* give an error if an explicit enumeration valid exceeds the valid range, resolves #34633
...
git-svn-id: trunk@43191 -
2019-10-13 15:48:21 +00:00
Jonas Maebe
a051b8d225
- remmoved doregister parameter from t*sym constructors, as the registration
...
is handled automatically nowadays
git-svn-id: trunk@42998 -
2019-09-14 17:30:45 +00:00
svenbarth
b0b2218cca
* fix for Mantis #35981 : ensure that the "specialize" token is only really used in non-Delphi modes
...
git-svn-id: trunk@42776 -
2019-08-23 14:59:20 +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
svenbarth
ed5f19e7e3
* change boolean parameters for try_consume_unitsym to a set
...
git-svn-id: trunk@42360 -
2019-07-12 22:05:05 +00:00
svenbarth
39bab2dbcc
* rename trtti_attributesdef to trtti_attributes_list
...
git-svn-id: trunk@42359 -
2019-07-12 22:05:00 +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
281b3ad276
* fix case completeness and unreachable code warnings in compiler that would
...
be introduced by the next commit
git-svn-id: trunk@42046 -
2019-05-12 14:29:03 +00:00
Jonas Maebe
ed2ae508d0
* only add hidden parameters for objectdef methods after generating the vmt,
...
so that they take into account inherited calling conventions (mantis #35233 )
o don't needlessly calculate the paraloc info when generating a JVM mangled
name
git-svn-id: trunk@41716 -
2019-03-16 19:14:14 +00:00
Jonas Maebe
91d5457b38
* moved around/replaced the following procedures to stop nflw from depending
...
on pdecsub (node units should not depend on parser units):
o maybe_add_public_default_java_constructor()
o handle_calling_convention()
o create_finalizer_procdef() (replaced with create_outline_procdef())
o insert_record_hidden_paras()
o handle_calling_convention()
o proc_add_definition()
o build_parentfpstruct()
o maybe_guarantee_record_typesym()
o get_first_proc_str()
* factored out the creation of a procinfo for a nested procdef based on a
subnodetree of the current procdef into tprocinfo.create_for_outlining()
git-svn-id: trunk@40773 -
2019-01-05 16:26:33 +00:00
Jonas Maebe
28df55fe08
* moved handle_calling_convention() to pparautl
...
git-svn-id: trunk@40772 -
2019-01-05 16:26:29 +00:00