[fpc-devel]Recompile the RTL to trace bugs

Peter Vreman peter at freepascal.org
Mon May 3 20:46:36 CEST 2004

>I guess the problem with dynarrays and openarrays (also as with overloaded
>functions wich are also very buggy for a long time) is the fact that FPC
>core team are old stylish programmers, and do not use these modern features
>themselves. Thus these features are "for users" and are not so solid.
>Instead you guys use pointers to arrays, getmem and other manually
>controlled "dynamic arrays" and other structures, but not actual pascal
>dynarrays. Same with openarrays and overloaded functions. I guess what you
>could do, strictly IMHO, is start using these features across the compiler
>code, so all your regression tests and other tests will constantly keep the
>dynarray features healthy.

It is also not possible to use new features in the compiler. The compiler 
needs to be able to be compiled with 1.0.x for bootstrapping.

Modern features like dynarrays and variants are for quick GUI/database 
applications perfect, but you don't want to use that kind of things in 
server daemons and programs that need to be run for a long time without 
downtime, because you don't have full control over things that happend.

At my job there is a rule in the coding standards that you shouldn't use 
malloc/getenvironmentvariable during the main processing, it is only 
allowed during startup because it is to slow. And for malloc there is the 
extra risk of memory leaks.

For the compiler compile speed is important (ppl want to compare it with 
Delphi). Things like dynamic arrays and ansistrings are simply too slow, 
because they require extra overhead for exception handling.


More information about the fpc-devel mailing list