To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=66577
                  Issue #:|66577
                  Summary:|gcc 4.0.2 build fails due to "warnings are errors"
                Component:|porting
                  Version:|680
                 Platform:|All
                      URL:|
               OS/Version:|All
                   Status:|NEW
        Status whiteboard:|
                 Keywords:|
               Resolution:|
               Issue type:|DEFECT
                 Priority:|P3
             Subcomponent:|code
              Assigned to:|sb
              Reported by:|sb





------- Additional comments from [EMAIL PROTECTED] Tue Jun 20 00:26:52 -0700 
2006 -------
Now that CWS warnings01 is integrated into SRC680m173, in many CVS modules C/C++
compiler warnings are now treated as errors that break the build. 
Unfortunately, CWS warnings01 used gcc 3.4.1 to make the code warning-free, but
other gcc versions like gcc 4.0.2 produce slightly more warnings and thus the
build breaks when using such a gcc version.

This problem somehow escaped me until yesterday evening, when I started a "pure"
OOo build (not from within the Hamburg build environment) of CWS warnings01 on
unxlngi6.pro.  I found the time to build up into i18npool (i.e., covering about
half of all the CVS modules), changing 30 files along the way (plus merging in
boost/spirit-1.6.1.patch:1.3.28.1 to be able to build at all with gcc 4.0.2; I
used a plain configure with any additional switches).

The attached diff (against cws_src680_warnings01, and not yet against
SRC680_m172 where CWS warnings01 will be integrated) shows that allmost all
changes fell into one of a few categories:

- Cases where gcc cannot deduce that a variable has been assigned a value, as in
  sal_Bool bBoolVal;
  if (aValue >>= bBoolVal)
[configmgr/source/api2/providerimpl.cxx]
(Interestingly, the warning appears to only be emitted for byte-sized types like
sal_Bool and sal_Int8.)

- Cases where a variable is used and modified in the same expression, as in
  ( pDate[17 + gab] - 0x30 ) * 10 + (pDate[17+ ++gab]-0x30
[hwpfilter/source/hwpreader.cxx]

- Cases where printf-style functions are called with arguments that do not match
the % specifications, as in
  fprintf(stdout, "  Field %d: Value1 = %d  !=  Value2 = %d\n", index1,
             constValue1.m_value.aFloat, constValue2.m_value.aFloat);
[registry/tools/regcompare.cxx]

- Expressions that do not have any effect, as in
  for (ci_pl i = vecPlugins.begin(); i != vecPlugins.end(); i++, cModule)
[jvmfwk/source/framework.cxx]

- Cases where an assignment within an if expression is not enclosed in an extra
set of parantheses, as in
  if ( ret = pTmpReg->mergeKey(rootKey, aRoot, convertToFileUrl( *iter )) )
[rdbmaker/source/codemaker/typemanager.cxx]
(I would have thought that this had been already been detected, on at least one
of the compiler platforms we covered---strange.)

I do not know when I will find time to continue the build and find the remaining
breaks.  If someone is willing to help me, that would be great.  And I apologize
in advance for any trouble this will cause once SRC680m173 is out...

---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to