[fpc-devel] Another bunch of RTL feature dependencies

Sven Barth svenmauren at vr-web.de
Fri Nov 6 18:32:02 CET 2009


Hello together!

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.

Regards,
Sven



More information about the fpc-devel mailing list