Michael VAN CANNEYT
ed50a1941b
* Unicode resource strings
2023-07-25 16:06:53 +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
fb9c718371
* get_stringconst should handle widestring correctly: library & import names are unicodestring constants in unicode rtl
2023-07-22 08:26:22 +00:00
Nikolay Nikolov
06f35ae04f
- rm commented out debug writeln left over from previous commit
2023-06-20 17:25:57 +03:00
Nikolay Nikolov
5c792c438d
+ disallow using sizeof() and bitsizeof() on WebAssembly reference types
2023-06-20 16:56:47 +03:00
florian
ec28b7586c
+ support procvar[] in tp/mac procvar mode if the procvar returns an array type
2023-01-22 16:24:29 +01:00
Sven/Sarah Barth
1d73dab2b0
* a callnode for an anonymous function can have its procdefinition fixed, thus avoid the need to check for overloads
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
Sven/Sarah Barth
13fb30c52e
* fix #39902 : correctly handle assignment of procvars to properties with a field write accessor
...
+ added adjusted/extended test
2022-09-16 16:20:42 +02:00
Sven/Sarah Barth
6407b5f4db
* try to specialize a specialize node if it's followed by a < in a non-code section so that we might get better error messages
2022-08-12 17:19:32 +02:00
Sven/Sarah Barth
33ef88858d
* extract generating the specialization from a specialize node into a separate function
2022-08-12 17:01:22 +02:00
Sven/Sarah Barth
abb7aebaba
* fix typo in comment
2022-08-12 14:47:13 +02:00
Sven/Sarah Barth
35958a9b6b
* fix #39860 : even if the block type is not correct for the specialization of a generic routine continue to specialize it to not trigger e.g. an internal error
...
+ added tests
2022-08-12 14:46:56 +02:00
florian
a401898139
* spelling fixes
2022-08-04 23:01:35 +02:00
Sven/Sarah Barth
7974f39522
* implement assignment of procedure and method variables and routines (global, instance and nested) to function references
2022-05-26 21:44:24 +02:00
Sven/Sarah Barth
f2305d1cee
* if an invokable that isn't a function reference is followed by a point in a mode that doesn't use TP/Delphi style calling without parameters then don't call it like is done with normal procvars
2022-05-26 21:44:23 +02:00
Sven/Sarah Barth
4dbdb4f0f1
+ initial support for anonymous functions, for now as essentially nested functions
...
Based on work by Blaise.ru
2022-05-26 21:43:00 +02:00
Sven/Sarah Barth
2cc621618a
* Delphi-mode calling without parenthesis
2022-05-26 21:43:00 +02:00
Sven/Sarah Barth
2ed2c21313
+ add support for parsing function references
2022-05-26 21:42:59 +02:00
Sven/Sarah Barth
bc4eb00a7a
* apply patch by Blaise.ru: proper code generation for assigning class non-static methods, accessed via a class reference type, to method pointers
...
+ added test
2022-05-26 21:42:55 +02:00
Sven/Sarah Barth
a8cf67d73b
* apply patch by Blaise.ru: reject assignments of instance methods, accessed via a type, to method pointers
...
+ add tests
2022-05-26 21:42:54 +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
1a8444087a
* ensure that result of factor_handle_sym is initialized
2022-01-22 22:28:01 +01:00
Sven/Sarah Barth
5ce96de0f2
* ensure that an expression that involves an overloaded generic in mode Delphi isn't handled as a specialization if it shouldn't be
...
+ added tests
2022-01-22 20:27:01 +01:00
Sven/Sarah Barth
d4e0a79d9e
* move the handling of the symbol found in factor_read_id to a separate function
2022-01-22 20:27:01 +01:00
florian
e4ee8fa6a2
* patch by Rika to pass some strings by reference, resolves #39338
2021-11-09 22:41:52 +01:00
florian
f78818e387
* some warnings fixed
2021-09-18 19:24:53 +02:00
Yuriy Sydorov
07dcd22b1c
* sizeof(array) and length(array) must return sizeUint in case the array
...
size does not fit in sizeint. This fixes a range check error during
compilation on small CPU targets where allowed array size is 64K, but
sizeint is 32K max.
2021-08-16 21:54:46 +03:00
florian
415bf22e01
* remove mhs_exceptions in might_have_sideeffects call for C operators: it improves code
...
and shouldn't hurt as this is no regression in comparison with current 3.2.x
git-svn-id: trunk@49621 -
2021-07-19 20:55:41 +00:00
florian
0d6a1d24bd
* might_have_sideeffects in gen_c_style_operator as proposed by runewalsh, resolves #39206
...
git-svn-id: trunk@49608 -
2021-07-13 18:31:38 +00:00
svenbarth
6e4984184b
* for variant dispatch calls, use the parameter name in source case, not upper case
...
git-svn-id: trunk@49480 -
2021-06-05 17:43:53 +00:00
svenbarth
2885d3ab56
* fix for Mantis #37426 : don't allow an instance function of a type helper to be used on the type instead of a concrete value
...
+ added test
git-svn-id: trunk@49102 -
2021-04-02 15:25:01 +00:00
svenbarth
7343e9c4a2
* correctly handle the case should the generic dummy symbol be a procsym instead of a typesym
...
git-svn-id: trunk@48001 -
2021-01-02 23:23:34 +00:00
svenbarth
e4eed4e259
* when only a symbol name is provided to generate_specialization_phase1 allow a symbol table to be provided as well
...
git-svn-id: trunk@48000 -
2021-01-02 23:23:29 +00:00
svenbarth
a65d778f73
* also handle call nodes when determining the generic symbol for inline specializations
...
git-svn-id: trunk@47999 -
2021-01-02 23:23:24 +00:00
svenbarth
f42b39a7b5
* use a case statement instead of nested if-then statements
...
git-svn-id: trunk@47998 -
2021-01-02 23:23:20 +00:00
svenbarth
c496b609d1
* fix for Mantis #38051 : make Chr() a real intrinsics so that it can be used in type declarations as well
...
+ added test
git-svn-id: trunk@47353 -
2020-11-08 22:23:02 +00:00
florian
637976e83f
* patch by Marģers to unify internal error numbers, resolves #37888
...
git-svn-id: trunk@47103 -
2020-10-13 19:59:01 +00:00
svenbarth
e90cf131fe
* fix for Mantis #37844 : prefer to use the symtable determined in generate_specialization_phase1 for procdefs as that might a withsymtable that is needed to correctly load Self later on
...
+ added test
git-svn-id: trunk@47101 -
2020-10-12 16:55:14 +00:00
florian
0bdc1fdea4
* do not set nonlocal for inter-procedural labels, this is not needed, they use
...
the jmpbuf to reach the target
git-svn-id: trunk@46907 -
2020-09-20 18:57:00 +00:00
svenbarth
b2177fb50e
* fix for Mantis #37650 : apply adjusted patch by Ryan Joseph do not range check the length of ShortStrings if their length parameter is based on a generic constant
...
+ added test
git-svn-id: trunk@46766 -
2020-09-04 15:44:23 +00:00
svenbarth
e4ec420bf5
* reject the default Create array constructor if used on a variable instead of a type
...
+ added test
git-svn-id: trunk@46279 -
2020-08-05 21:35:01 +00:00
svenbarth
d401639b24
* fix for Mantis #37251 : apply patches by Bi0T1N to implement the IsConstValue() intrinsic
...
+ added tests
git-svn-id: trunk@45695 -
2020-06-25 20:42:47 +00:00
florian
51da470757
* constrained type parameters are not undefined defs, resolves #37107
...
git-svn-id: trunk@45457 -
2020-05-21 18:19:08 +00:00
yury
40504a6f9d
* If a nested procedure does not access its parent's frame pointer, optimize it by removing the hidden $parentfp parameter.
...
* Improved the tisogoto1.pp test.
git-svn-id: trunk@45292 -
2020-05-06 14:43:49 +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
svenbarth
c4f3f7f453
* only resolve a dummy symbol if it is a type symbol (thus truly a dummy symbol)
...
+ added tests
git-svn-id: trunk@44172 -
2020-02-14 16:49:07 +00:00
svenbarth
1407aa2b4b
* fix for Mantis #36631 : it's an error if a POINT after an array is not followed by an identifier
...
+ added tests
git-svn-id: trunk@44082 -
2020-02-01 17:51:46 +00:00
florian
ac6e4f59c6
* better error recovery, resolves #36397
...
git-svn-id: trunk@43653 -
2019-12-05 20:46:50 +00:00
svenbarth
b0ac0ddcc9
+ add support for the IsManagedType() intrinsics which reports for a type (or variable) whether it needs initialization/finalization
...
+ added tests
git-svn-id: trunk@43409 -
2019-11-06 23:04:52 +00:00