Hi all,
almost a year ago, I announced that we started a project to get the OOo
(C/C++) code base warning-free, see
<http://www.openoffice.org/servlets/ReadMsg?list=dev&msgNo=14653>.
Today, I can announce that a large part of this project (CWS warnings01)
is right now being integrated into SRC680m173.
We did manage to get a large part of the OOo C/C++ code base
warning-free (using rather aggressive warning levels, like gcc -Wall) on
a large number of platforms (unxlngi6, unxlngi6.pro, unxsoli4.pro,
unxsols4, unxsols4.pro, wntmsci10, wntmsci10.pro), reaching svx (i.e.,
the main areas that are not yet warning-free are parts of svx and the
application modules like sc, sd, sw). Initially, we planned to clean up
the whole code base in one CWS. In retrospect, this was surely a naive
decision that has caused a number of problems (a huge CWS that is open
for a long time). At some point, we decided to make a cut and integrate
what is already there, postponing the missing modules to later CWSs. I
put a machinery in place in solenv to switch on "warnings are errors"
selectively on a platform/module basis.
A random list of remarks (and I am sure I missed some, and some things
will only become evident once SRC680m173 is out, so this list will grow):
- Starting with SRC680m173, the build switch wall=x is on by default
(and cannot be switched off), at least for the platforms mentioned
above. Also, in most CVS modules, C/C++ compiler warnings will now
cause the build to break, again at least for the platforms mentioned above.
- I just yesterday stumbled upon the that for unxlngi6[.pro], we only
concentrated on GCC 3.4.1, while other GCC versions produce slightly
different warnings (that will break the build now on those GCC
versions), see <http://www.openoffice.org/issues/show_bug.cgi?id=66577>.
- Only recently we stumbled upon the fact that using the build switch
debug=x causes a number of warnings in code that is not active (via
#ifdef etc.) in the normal case. I started a unxlngi6.pro debug=x build
to find some of those places, but am not finished yet, and the results
are thus far only available on my local hard drive.
- As announced back then, we did all of the work here at Sun Hamburg
(but I hope we managed to do any relevant discussions publicly, on this
mailing list). I am not sure whether this was a clever move; on the one
hand, it was definitely easier to coordinate the actual work this way;
on the other hand, others in the community would probably have provided
valuable input if the project had been more open (and I am even more
convinced of this after reading Karl Fogel's great open source book).
Please bear with us.
- SRC680m173 will be a version where literally thousands of (mostly
small) fixes have been applied to thousands of files, so there
definitely is room for regression. Thus, if you can afford to run a
bleading edge OOo, please switch to SRC680m173 or later as soon as
possible, so that we have a chance of identifying as many of those
regressions as possible.
-Stephan
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]