← Back to team overview

maria-developers team mailing list archive

No more compiler warnings in lp:maria!

 

While the subject of this mail is not quite true yet, I'm happy to announce
progress on this project that Monty and I have been discussing for some time.

Basically, compiler warnings are very useful to catch a number of bugs in our
sources. This has been proven time and time again. However, to do this
effectively, we need to keep a state where there are no compiler warnings in
the main tree, so that we can detect any new warnings introduced by patches
and fix any problems accordingly.

With my latest push this morning, the Buildbot compiles on builders
hardy-amd64-valgrind and work-amd64-valgrind are now completely free of
warnings. This means any new patches must be also clean from warnings on these
hosts. Any newly introduced warnings should be fixed ASAP.

There are still some compiler warnings left on the other hosts, which would be
really good to also eliminate. Any help in this direction would be greatly
appreciated.

There are a few compiler warnings that could not be fixed meaningfully in the
source for various reasons. These warnings are instead suppressed from
Buildbot using the file support-files/compiler_warnings.supp. Over time we
should strive to remove things from this file. However, we should not make
stupid changes to the code just to make a silly compiler happy.

I also added to the tree this script:

    support-files/ccfilter

This can be used locally by developers to apply
support-files/compiler_warnings.supp to the output of a local build, just like
Buildbot suppresses compiler warnings from this file. This is useful to check
that new patches are warning-free before pushing. There are some comments at
the start of the script describing usage. But basically, run ./configure with

    CC="ccfilter gcc" CXX="ccfilter gcc"

Then the suppressed compiler warnings will be removed from the compiler
output. And setting the FAILONWARNING environment variable can be used to
cause a build failure on non-suppressed warning (similar to -Wall, but heeding
support-files/compiler_warnings.supp).

 - Kristian.