[fpc-devel] Another bunch of RTL feature dependencies
svenmauren at vr-web.de
Fri Nov 6 18:32:02 CET 2009
This week I found some time to continue enabling RTL features in Native
NT. While doing that I stumpled upon some feature dependencies that need
to be discussed or solved.
* FEATURE_INITFINAL: What is this used for? I found no usage of it
anywhere in the rtl...
* FEATURE_DYNLIBS: Same as above (are those two used inside the compiler?)
* FEATURE_RTTI (needs ANSISTRINGS, DYNARRAYS, VARIANTS and CLASSES): do
you think that we need everything to use RTTI successfully? Especially
DYNARRAYS and VARIANTS should be optional...
* FEATURE_CLASSES (needs EXCEPTIONS and VARIANTS): The variants are
needed, because in inc/objpas.inc DoDispCallByIDError and
fpc_dispatch_by_id need the type PDispDesc which is defined in
inc/varianth.inc. Do you think this can be solved somehow (I just put
ifdefs around the two methods)? VARIANTS shouldn't be needed when you
want to use CLASSES
* FEATURE_EXCEPTIONS (needs CLASSES): well... we have a circle here...
CLASSES needs EXCEPTIONS and the other way round. In my opinion this
should be broken up somehow or we don't need two different features when
they must be enabled together.
* (not a FEATURE, but related) objpas/objpas.pp (needs ANSISTRINGS,
COMMANDARGS, FILEIO and TEXTIO): The last three features should be
optional. If I'm right the compiler does define the FEATURE defines
globally, so we can check for the corresponding ones in the objpas unit
to enable only those methods that are actually implemented.
I can provide patches for CLASSES needing VARIANTS and the objpas unit,
but I want your opinion about these dependencies first.
More information about the fpc-devel