[fpc-pascal] How to remove verbose compiler output

Graeme Geldenhuys mailinglists at geldenhuys.co.uk
Sun Apr 6 02:59:29 CEST 2014

Hi Tomas,

On 2014-04-05 23:39, Tomas Hajny wrote:
> file). This is just to check if the behaviour depends on the compiled
> sources in any way.

You were on to something. Using your simple unit as an example, all the
various -v options work perfectly.

That made me double check the code I'm compiling - then I found
something. When I searched through all the source code [the first time]
for the text '$HINTS ON', my searching tool accidentally had regex
support enabled, thus the $ symbol was interpreted differently, and
resulted in no files with such text found. Doing the search again, and
this time disabling regex support, it revealed that I had a few units
that used the $HINTS directive.

My usage of the $HINTS directive was to switch hints off for one or more
lines of code, then switch hints back on. An example of this would be
around the FillChar() call.

I checked the FPC 2.6.2 documentation about the $HINTS directive and it
doesn't say what hints get switched on. But from a quick
experimentation, it seems {$HINTS ON} is equivalent to -vewnhi (it
doesn't just restore the previous hint verbosity state, it overrides and
sets a new verbosity state). And knowing now that {$HINTS ON} takes
priority over everything else, it explains the reason why my command
line parameter for -v<whatever> or what was defined in fpc.cfg was
totally useless.

So there was no FPC bug after all, but maybe the documentation for
$HINTS could be extended in this regards - stating that it doesn't
restore the previous verbosity level, it sets a new one. It could be
helpful to other developers in future.

So in the end my only solution is to use -vm with a list of message
numbers I want to suppress.

Thanks to everybody that tried to help me - much appreciated.

  - Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal

More information about the fpc-pascal mailing list