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]

Reply via email to