svenbarth
|
639a59df92
Added support for partial specialization. This should fix a few problems with generics, the tests for which will be added in the next days after I've verified them.
|
11 ani în urmă |
Jonas Maebe
|
338c064beb
* moved x86-specific tpointerdef functionality to architecture-specific
|
11 ani în urmă |
svenbarth
|
c077adf499
Fix for Mantis #25132
|
11 ani în urmă |
svenbarth
|
798bb91e90
Extract tdef.is_related plus its overrides in tobjectdef, trecorddef and tstringdef into a new function def_is_related in unit defcmp.
|
11 ani în urmă |
svenbarth
|
76f6de5cf1
Refactor tobjectdef.find_implemented_interface out into unit defcmp so that the recently introduced cycle between symdef and defcmp can be broken again.
|
11 ani în urmă |
Jonas Maebe
|
de56f909d5
* synchronized with trunk up to and including r25430
|
12 ani în urmă |
Jonas Maebe
|
f539e9158a
* small change to r24997: also use the {$modeswitch unicodestrings} state to
|
12 ani în urmă |
paul
|
17ef986b17
compiler: don't treat methods without self node (static class methods, class contructors, destructors, operators) as method pointers, fix comparison of procdef and procvardef to allow assignment of a static class method to a regular procedural variable (issue #24486)
|
12 ani în urmă |
Jonas Maebe
|
29132f45b7
* synchronised with trunk up to r25167 (fixes glib compilation via r25164,
|
12 ani în urmă |
Jonas Maebe
|
35b771e421
* previously, we preferred pchar->shortstring to pchar->ansistring in
|
12 ani în urmă |
Jonas Maebe
|
eb93429cf0
* prefer "constant string" -> pwidechar for {$modeswitch unicodestrings}
|
12 ani în urmă |
nickysn
|
6431ebe7f3
* treat the nil node as equal to near, far and all the special x86 pointer types
|
12 ani în urmă |
svenbarth
|
956b26bc97
Completely reworked implementation of generic constraints, by moving the generic constraint data from the symbols to the definitions (I originally thought that this would simplyfy things, but the more correct approach is to add it to the defs).
|
12 ani în urmă |
svenbarth
|
cc5a108cca
Allocate the list for generic parameters in tstoreddef only on demand as most defs won't contain generic parameters anyway (avoids a little bit of runtime and memory overhead per def).
|
12 ani în urmă |
nickysn
|
b0f7786782
+ added support for special versions of near data pointers associated with a x86 segment register. They are supported on all x86 platforms: i8086, i386 and x86_64
|
12 ani în urmă |
Jonas Maebe
|
1244cdff70
* don't treat bitpacked arrays of subranges of char that can be represented
|
12 ani în urmă |
svenbarth
|
9ef4a35a7b
Fix the fix for Mantis #21538. The check never really worked up to now...
|
12 ani în urmă |
Jonas Maebe
|
c7255f153e
* sets with the same base/range can still have a different size (and hence
|
12 ani în urmă |
svenbarth
|
2414c55ca0
Fix for Mantis #21538.
|
13 ani în urmă |
Jonas Maebe
|
85765364ee
* properly compare parameter lists involving pointers to or classrefdefs of
|
13 ani în urmă |
Jonas Maebe
|
4d31fbc31d
* also allow conversion of niln to forward-defined pointerdef
|
13 ani în urmă |
Jonas Maebe
|
a63a603cc1
* allow conversion from niln to not-yet-fully-resolved classrefdefs
|
13 ani în urmă |
Jonas Maebe
|
63ab1bae3e
* don't allow ordinal->ptr-based-objectdef conversions on managed platforms,
|
13 ani în urmă |
Jonas Maebe
|
50659b7e7f
* give an error if a routine definition defines default values for
|
13 ani în urmă |
Jonas Maebe
|
ffe68ca284
* do not search overloaded assignment/conversion operators for internal
|
13 ani în urmă |
Jonas Maebe
|
99e70e7128
* do not allow implicit conversions from currency to orddef even if currency
|
13 ani în urmă |
paul
|
1a724f3e11
compiler:
|
13 ani în urmă |
paul
|
c7e057a835
compiler: use is_wide_or_unicode_string() istead of using is_widestring() or is_unicodestring()
|
13 ani în urmă |
Jonas Maebe
|
564445da8c
* re-enabled enum -> dispinterface typecasts after r21069, bug noticed by
|
13 ani în urmă |
Jonas Maebe
|
834026bfb5
* synchronised with trunk up to r21067
|
13 ani în urmă |