[fpc-pascal] Class constructor called unconditionally

Michael Van Canneyt michael at freepascal.org
Thu Mar 31 16:28:08 CEST 2016



On Thu, 31 Mar 2016, silvioprog wrote:

> On Thu, Mar 31, 2016 at 10:58 AM, Vojtěch Čihák <vojtech.cihak at atlas.cz>
> wrote:
>
>> IMO compilers should be dogmatic otherwise one cannot rely on them. This
>> looks to me like advocating wrong optimization.
>>
>>
>>
>> Blaazen
>>
>
> Thanks for reply Vojtěch, but are you referring to Delphi or FPC
> optimization?

In general. You should never rely on such behaviour. 
This is not very robust programming.

>
> I think that FPC should keep the Delphi class constructor behaviour in MODE
> DELPHI, allowing the programmers to port Delphi libraries to FPC, but ...

I suspect the problem is not in the mode, but in detecting whether a class is used
or not in a program. It becomes very complicated when you use e.g. run-time packages.

Delphi itself is buggy in this regard, and has been since at least D7.
For this reason, in general I advise against extensive use of initialization sections etc...

Michael.


More information about the fpc-pascal mailing list