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
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
24c4b90343
* instead of declaring another type with a 'attribute' suffix, *search* for another type with a 'ATTRIBUTE' suffix (Delphi allows declaring both a TFoo and TFooAttribute in the same unit)
...
+ added test
git-svn-id: trunk@42362 -
2019-07-12 22:05:18 +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
Jeppe Johansen
7dc515b62c
- Fix result type of SizeOf and BitSizeOf to use sizesint instead of sint.
...
git-svn-id: trunk@42337 -
2019-07-07 14:37:45 +00:00
Jonas Maebe
0cd0e1614b
* synchronised with trunk till r42105
...
git-svn-id: branches/debug_eh@42106 -
2019-05-19 19:24:25 +00:00
Jonas Maebe
4c34b7b67d
* fixed memory leak
...
git-svn-id: trunk@42101 -
2019-05-19 19:20:34 +00:00
Jonas Maebe
1b6425176b
* synchronised with trunk till r42049
...
git-svn-id: branches/debug_eh@42050 -
2019-05-12 18:44:05 +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
svenbarth
251c559662
* fix for Mantis #35533 : when searching for helpers on types that usually don't support a point operator, don't use automatic dereferentiation
...
+ added tests
git-svn-id: trunk@42036 -
2019-05-10 20:56:41 +00:00
Jonas Maebe
a7bd37d17a
* synchronised with trunk till r40776
...
git-svn-id: branches/debug_eh@41867 -
2019-04-13 15:16:09 +00:00
Jonas Maebe
0b61b5d4cf
* added extra header to ppu inside a subsection, so we won't run into
...
trouble when the ppu version hits 255
* also moved several ppu flags to a set inside that section
git-svn-id: trunk@41846 -
2019-04-06 21:28:43 +00:00
Jonas Maebe
50c82b6468
* synchronised with trunk till r41537
...
git-svn-id: branches/debug_eh@41538 -
2019-03-01 16:20:22 +00:00
Jonas Maebe
aba3f8f162
* fixed over-eager rejection of tobjecttype.fieldname expression after r40785
...
(mantis #35149 )
git-svn-id: trunk@41474 -
2019-02-25 21:17:24 +00:00
Jonas Maebe
b3a8543a56
* synchronised with trunk till r40942
...
git-svn-id: branches/debug_eh@40943 -
2019-01-20 17:37:07 +00:00
Jonas Maebe
51e68eb302
* fixed several places where the interface crc could change:
...
o unsetting po_inline while parsing the implementation for various reasons
(interprocedural goto/label, accessing a local in a parent frame,
having nested procedures)
o instead handle this via the pio_inline_not_possible flag
o noreturn can no longer be specified only in the implementation
git-svn-id: trunk@40789 -
2019-01-06 20:35:56 +00:00
Jonas Maebe
b2b34338e5
* give an error when trying to call an object instance method via a type node
...
(mantis #34821 )
git-svn-id: trunk@40785 -
2019-01-06 15:21:36 +00:00
Jonas Maebe
9630eb7ce9
* synchronised with trunk till r40466
...
git-svn-id: branches/debug_eh@40467 -
2018-12-04 19:54:31 +00:00
Jonas Maebe
122d0d36d6
+ volatile() expression that marks an expression as volatile
...
* disable matching volatile references in the assembler optimisers, so they
can't be removed (more conservative than needed, but better than removing
too many)
o the CSE optimiser will ignore them by default, because they're an unknown
inline node for it
* also removed no longer used fpc_in_move_x and fpc_in_fillchar_x inline node
identifiers from rtl/inc/innr.inc, and placed fpc_in_unaligned_x at the
right place
git-svn-id: trunk@40465 -
2018-12-04 19:53:20 +00:00
Jonas Maebe
8555ec1438
+ fpc_eh_return_data_regno() intrinsic to get the return register numbers
...
for the Dwarf EH exception handler result
git-svn-id: branches/debug_eh@40070 -
2018-10-28 18:16:38 +00:00
Jonas Maebe
2c7c0d1144
* handle widechar constants directly in the scanner, instead of in the
...
overload selection (where you can't even know whether the string is
a valid widechar constant) (mantis #33875 )
git-svn-id: trunk@40009 -
2018-10-21 17:34:00 +00:00
florian
eea088c5f5
* allow nil to be assigned to generic types, resolves #34037
...
* niln is also a constant node
git-svn-id: trunk@39934 -
2018-10-14 07:38:13 +00:00
florian
7082b6e34a
* compilation fixed
...
git-svn-id: trunk@39812 -
2018-09-26 19:38:17 +00:00
svenbarth
9a99ab9dda
* fix for Mantis #34287 : correctly handle "inherited method" calls if "method" is a generic (no matter if it's mode Delphi or not)
...
+ added test
git-svn-id: trunk@39787 -
2018-09-21 15:16:18 +00:00
svenbarth
0aee319fdb
* do_member_read() takes ownership of the specialization context, so Nil it after the call
...
git-svn-id: trunk@39559 -
2018-08-03 20:24:10 +00:00
florian
93c5eae528
* accept dereferences in generics definitions, resolves #33700 properly
...
git-svn-id: trunk@39447 -
2018-07-13 21:00:33 +00:00