[fpc-pascal] $modeswitch declared before $mode fails without warning

Sven Barth pascaldragon at googlemail.com
Sun Sep 18 15:49:04 CEST 2022

Am 18.09.2022 um 15:39 schrieb Hairy Pixels via fpc-pascal:
>> On Sep 18, 2022, at 7:37 PM, Florian Klämpfl via fpc-pascal <fpc-pascal at lists.freepascal.org> wrote:
>> This is in general the case that $mode overrides all previously set switches i.e. it simply sets the switches as defined by the given mode so I am not sure if this is really worth a warning.
> Is there ever a time where this would be useful to put a mode switch before the mode? I always think about it like a 2 step process: 1) choose the mode and 2) add extra features via mode switches. Unless I’m missing some use case it just seems like a way to create bugs.

The thing is that it is not necessary to use a mode directive. Either 
the user might be happy with the default mode FPC and just add some 
modeswitch for extended functionality or the mode might be provided as a 
command line parameter again with adding some special functionality.

And it would be much more effort to keep track of when a modeswitch 
directive was used in case a mode directive is used later on. Just not 
worth the effort as it's documented that a mode directive resets any 


More information about the fpc-pascal mailing list