[fpc-devel] Question about $OPTIMIZATION LEVELn

Martok listbox at martoks-place.de
Tue Jan 16 16:52:33 CET 2018

Hi all,

just a quick question: is setting one of the LEVELn values like
  {$Optimization LEVEL3}
in a source file supposed to be functionally equivalent to calling the compiler
for that file with -O3?

If so, then there's a bug: only the level gets applied, none of the associated
switches (i.e. level3optimizerswitches, including the inherited lower levels)
are set. This seems weird?
Patch seems straightforward, I'd just want some input on what the negative
options like {$Optimization NOLEVEL3} should do.

Otherwise it's a documentation bug:
<https://www.freepascal.org/docs-html/prog/progsu58.html> claims {$OPTIMIZATION
ON} is equivalent to {$OPTIMIZATION LEVEL2}, which it never was since that
directive was introduced.

Slightly related, the Programmer's Guide lists ancient optimization switches in
11.3. Bug report coming in shortly.


Ceterum censeo b32079 esse sanandam.

More information about the fpc-devel mailing list