florian
13de117b8e
* give better error message for #40821
2024-06-16 10:51:45 +02:00
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
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
Michaël Van Canneyt
fe62b3ace8
* Introduce constwresourcestring - in unicode mode, resource strings are unicode strings, and must be streamed differently
2024-02-13 19:44:36 +01:00
Michael VAN CANNEYT
ed50a1941b
* Unicode resource strings
2023-07-25 16:06:53 +02:00
Sven/Sarah Barth
a20e8b9a3d
* fix #40095 : when searching a suitable constructor for the custom attribute don't allow the return of a procvar which can happen in Mac/TP procvar modes (like Delphi)
...
+ added test
2023-06-30 17:12:56 +02:00
Sven/Sarah Barth
c7776d899b
* in case there hasn't been an error generated with an invalid attribute declaration then print at least "illegal expression" error
2023-06-30 17:09:52 +02:00
Sven/Sarah Barth
251af216ce
* fix typo in comment
2023-06-23 16:15:33 +02:00
Sven/Sarah Barth
62cc594ca4
* for unique type aliases keep track of the original def
...
* increase PPU version
2023-06-23 16:15:27 +02:00
Jonas Maebe
7f41bb4718
JVM: add typesym for anonymous record typed constants
...
Fixes compilation of system unit with JVM compiler after b38d13577f
2023-02-05 10:58:59 +01:00
florian
e77ec69de4
* avoid internal error in case of an illegal generic declaration
2023-01-12 23:05:51 +01:00
Pierre Muller
e148afd506
Fix cycling with -CR option
2022-05-26 22:43:41 +02:00
florian
45bf47ee05
* compilation with -O3 fixed
2022-05-26 22:34:34 +02:00
Sven/Sarah Barth
533a11ec80
* correctly handle calling convention for function references
2022-05-26 21:43:39 +02:00
Sven/Sarah Barth
ff0b560fe4
* set the flag that the symtable contains a generic at the end of the corresponding block of types_dec() to ensure that the owner is assigned correctly
2022-05-26 21:43:39 +02:00
Sven/Sarah Barth
e8b0fc88e3
* correctly handle directives for function references
2022-05-26 21:43:37 +02:00
Sven/Sarah Barth
2ed2c21313
+ add support for parsing function references
2022-05-26 21:42:59 +02:00
Sven/Sarah Barth
e5df46722e
* apply part of patch by Blaise.ru: reduce code duplication when parsing anonymous procvar types
2022-05-26 21:42:54 +02:00
Sven/Sarah Barth
bd226c00f1
* apply part of patch by Blaise.ru: check only once whether writable consts are enabled or not by determining the type of the assembly list earlier (it's only not needed in an error case anyway)
2022-05-26 21:42:54 +02:00
Sven/Sarah Barth
9c9c6cc81b
* apply patch by Blaise.ru:
...
- all call sites of parse_var_proc_directives() have the tprocvardef easily available, so use parse_proctype_directives() directly
- remove the now no longer required parse_var_proc_directives()
2022-05-26 21:42:53 +02:00
Pierre Muller
5acd7a7b83
Rename tsymtable.insert and delete methods to insertsym ands deletesym
2022-05-03 23:00:28 +02:00
Sven/Sarah Barth
3f14a19d3e
* fix typos in comments, no code changes
2022-02-18 17:54:36 +01: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
Sven/Sarah Barth
3e26beb1ed
* extract the code to parse a forward declaration out from types_dec into its own function parse_forward_declaration
2022-02-18 17:53:35 +01:00
Sven/Sarah Barth
7f1e420bb0
* move determine_generic_def out from pdecl.types_dec to pgenutil
2022-02-18 17:53:35 +01:00
florian
f78818e387
* some warnings fixed
2021-09-18 19:24:53 +02:00
pierre
6230de31bb
* Second patch xml-node-dump-defs.patch from J. Gareth Moreton from bug report 36882.
...
With same changes to ensure that xmllint find no errors in generated xml files.
git-svn-id: trunk@47667 -
2020-12-02 21:01:40 +00:00
Jonas Maebe
1c61c30cd2
* added "const" to some string parameters
...
git-svn-id: trunk@47299 -
2020-11-03 21:34:15 +00:00
Jonas Maebe
cc315e0ac7
* fix tw3930 after r37927
...
o "unique" class (and interface) type aliases should actually not exist at
all except for overload resolution. All the rest (VMT, UUID, RTTI, ...)
should be taken from the aliased class/interface
o there is one Delphi-incompatibily left after this change, but it shouldn't
matter: tw8180 does not compile if you change the declaration to
"tcl=class(TInterfacedObject,XStr,iinterface)", while Kylix does compile
that. It doesn't really matter though, because in Kylix this actually
adds iinterface twice as implemented interface, so there is no point
in accepting this.
git-svn-id: trunk@46773 -
2020-09-05 12:25:09 +00:00
florian
6dac888ae5
* 0 is a valid label in iso mode, resolves #37428
...
git-svn-id: trunk@46362 -
2020-08-11 12:05:13 +00:00
florian
f6f5cb45a3
+ strip leading zeros in numeric labels in iso/extended pascal mode also in label declarations, resolves #37323
...
git-svn-id: trunk@45764 -
2020-07-11 07:12:37 +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
c146aecc01
* throw an error if the forward interface type and the actual interface type do not match, resolves #36720
...
git-svn-id: trunk@44230 -
2020-02-21 20:35:27 +00:00
pierre
d1e4066477
Hopefully fix problems related to loading of ppufile generated with other endianess for generics
...
git-svn-id: trunk@44056 -
2020-01-28 23:43:56 +00:00
svenbarth
8111e92e1f
* rework syntax for cblocks: now a cblock directive is required
...
* additionally implicit calling conventions of cdecl or mwpascal now work as well
* adjusted tests
+ added tests
Note: the generator for packages/univint needs to be fixed, until then building on macOS will be broken
git-svn-id: trunk@43684 -
2019-12-14 16:45:38 +00:00
svenbarth
bf5d75e594
* move the common sequence to build a VMT for an objectdef into a separate procedure (based on a patch by Blaise.ru)
...
git-svn-id: trunk@43674 -
2019-12-11 22:42:53 +00:00
svenbarth
85637ad5fa
* register constant symbols
...
git-svn-id: trunk@43537 -
2019-11-21 21:44:26 +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
Jonas Maebe
956aab3be0
* implement support for the Objective-C "related result type" convention
...
as described on
http://releases.llvm.org/8.0.0/tools/clang/docs/LanguageExtensions.html#objective-c-features
(rest of mantis #35994 )
git-svn-id: trunk@42816 -
2019-08-25 15:23:53 +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
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
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
98b1b04951
* free unbound attributes
...
git-svn-id: trunk@42407 -
2019-07-12 22:08:07 +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
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
a64a8f8deb
- remove code to create an attribute using a synthetic function
...
git-svn-id: trunk@42396 -
2019-07-12 22:07:28 +00:00
svenbarth
402728239f
* trtti_attribute_list.bind already checks whether the dangling attribute list is assigned or not
...
git-svn-id: trunk@42395 -
2019-07-12 22:07:24 +00:00