yury
|
e5c2d13671
* Do not set pi_needs_got in current_procinfo.flags at the node level, since the GOT usage can only be estimated there. Instead set the pi_needs_got flag at places where the GOT register is accessed during the code generation. This eliminates generation of the unneeded initialization of the GOT register and fixes linker errors when the _GLOBAL_OFFSET_TABLE_ symbol is referenced but no actual GOT references are present.
|
6 ani în urmă |
Jonas Maebe
|
acf02ab64b
* when creating wrappers, add a prefix to parameter names to prevent them
|
6 ani în urmă |
Jonas Maebe
|
dd29088430
* simplify all type conversions for formal constants even for LLVM and JVM
|
6 ani în urmă |
Jonas Maebe
|
2c7c0d1144
* handle widechar constants directly in the scanner, instead of in the
|
6 ani în urmă |
Jonas Maebe
|
0b246f3dbd
* converted Boolean8 to an internal type, and mapped Boolean to the
|
6 ani în urmă |
florian
|
68eb921d46
* broken compilation after r39347 fixed
|
7 ani în urmă |
Jonas Maebe
|
8da8b956b0
* discard type conversions from/to generic defs for llvm as well
|
7 ani în urmă |
Jonas Maebe
|
eaafb166ad
* set totypedef correctly when converting @class.classmethod to a procvar
|
7 ani în urmă |
Jonas Maebe
|
1f9d518c57
* support for non-ASCII widechar constants (mantis #31605)
|
7 ani în urmă |
nickysn
|
6929af07b7
+ added flag tcnf_proc_2_procvar_get_offset_only
|
7 ani în urmă |
nickysn
|
99a1cf89b3
+ print convnodeflags in printnodeinfo
|
7 ani în urmă |
nickysn
|
3318703ece
* moved nf_typedaddr to addrnodeflags (anf_typedaddr)
|
7 ani în urmă |
nickysn
|
c9aecb8e94
* also compare convnodeflags in ttypeconvnode.docompare
|
7 ani în urmă |
nickysn
|
da609779d2
* simplify ttypeconvnode.printnodeinfo by making use of the fact that
|
7 ani în urmă |
Jonas Maebe
|
4da6039f40
* simplify empty-dynamic-string-to-pointer (non-p(wide)char) type conversions
|
7 ani în urmă |
nickysn
|
c665866517
+ introduce the tcnf_proc_2_procvar_2_voidpointer flag (for now it is only set,
|
7 ani în urmă |
nickysn
|
3e9b9451b4
* copy the new convnodeflags field in ttypeconvnode.dogetcopy
|
7 ani în urmă |
nickysn
|
6ad786f8ef
+ introduce ttypeconvnodeflags (empty for now)
|
7 ani în urmă |
florian
|
61053ead34
+ optimize is operator if used on sealed classes as proposed in #30097
|
7 ani în urmă |
florian
|
e523865b07
* do not take the size of an open array, resolves #33230
|
7 ani în urmă |
florian
|
d031545f88
* warn if the first constant element of a range set expression is greater than the second one, resolves #31936
|
7 ani în urmă |
Jonas Maebe
|
0f0bdabb89
* if an absolute typeconversion changes the size, make the source not
|
7 ani în urmă |
Jonas Maebe
|
2919d97f91
* support asssigning @class.classmethod to a procvar of object in FPC modes
|
7 ani în urmă |
Jonas Maebe
|
dcac6b9c6f
* disallow passing a dynarray(niln/pointerconstn) as an open array
|
7 ani în urmă |
florian
|
f22a6629c1
* set types correctly for char -> shortstring conversions, resolves #32686
|
7 ani în urmă |
svenbarth
|
0351369698
* ttypeconvnode.typecheck_arrayconstructor_to_dynarray: the assignment node of the temp array to the resulting array always needs to exist, so remove the assigned() check
|
8 ani în urmă |
svenbarth
|
b78037f6f2
* ttypeconvnode.typecheck_arrayconstructor_to_dynarray: use ctempcreatenode.create_value() instead of create() to get rid of the explicit addition of an assignment node
|
8 ani în urmă |
nickysn
|
460dd1c10a
* remove the redundant equal typeconv, left over as an artifact after removing
|
8 ani în urmă |
nickysn
|
efc5e339d0
* use an enum instead of integer constants to represent inline numbers
|
8 ani în urmă |
florian
|
c7ba611bf9
* when explicitly casting a variable, it might be sufficient if it is const_regable
|
8 ani în urmă |