[ 
http://issues.apache.org/jira/browse/XERCESC-1593?page=comments#action_12379088 
] 

Jesse Pelton commented on XERCESC-1593:
---------------------------------------

While I agree that ideal code compiles without warnings, there are many 
compilers in the world, each with its own criteria for generating warnings. 
Today's "clean" code may cause a future compiler to spew endless warnings. 
Furthermore, some compilers aren't especially smart about the warnings they 
generate. In the code I looked at, a more sophisticated compiler would have 
determined that the code was safe and skipped the warnings.

I'm skeptical of the notion of altering code purely to silence a compiler that 
generates needless warnings. For instance, in the cases I looked at, it's not 
clear what appropriate initial values would be; choosing some arbitrary value 
could make the code harder to really understand, which is a step backward.

Remember that I pointed out that the code I looked at is hard to understand. If 
it's restructured to make it easier for humans to understand, I think there's a 
good chance that compilers will be able to analyze it more successfully. 
Warnings should be viewed as a hint that you might want to rethink your code, 
not as a mandate to revise it.

In any case, if you believe you have a solution, I imagine that a patch would 
be welcome. If you make a patch against the current code in SVN, it will be 
easier to review and apply.

> critical Warning on compiling XercesC 2.7.0
> -------------------------------------------
>
>          Key: XERCESC-1593
>          URL: http://issues.apache.org/jira/browse/XERCESC-1593
>      Project: Xerces-C++
>         Type: Bug

>   Components: Build
>     Versions: 2.7.0
>  Environment: MSVC 2003 (7.1)
> Set Warning Level to 4
>     Reporter: Lukas Grützmacher

>
> I've compiled XercesC 2.7.0 from sources with MSVC2003.
> I've changed the project settings to use always warning level 4.
> Thereby I found a lot of warnings. IMHO some of them are critical:
> xerces-c-src_2_7_0\src\xercesc\validators\schema\traverseschema.cpp(6490) : 
> warning C4701: local variable 'defAttType' may be used without having been 
> initialized
> xerces-c-src_2_7_0\src\xercesc\util\regx\token.cpp(259) : warning C4701: 
> local variable 'ret2' may be used without having been initialized
> xerces-c-src_2_7_0\src\xercesc\util\regx\RegularExpression.cpp(184) : warning 
> C4244: 'argument' : conversion from 'XMLInt32' to 'const XMLCh', possible 
> loss of data
> xerces-c-src_2_7_0\src\xercesc\util\platforms\win32\win32platformutils.cpp(795)
>  : warning C4701: local variable 'retVal' may be used without having been 
> initialized
> xerces-c-src_2_7_0\tests\xserializertest\xserializertest.cpp(537) : warning 
> C4701: local variable 'duration' may be used without having been initialized
> Many others are not critical but sould be fixed, too. Here are some examples:
> DFAContentModel.cpp
> ..\..\..\..\..\src\xercesc\validators\common\CMNode.hpp(129) : warning C4245: 
> 'initializing' : conversion from 'int' to 'unsigned int', signed/unsigned 
> mismatch
> xerces-c-src_2_7_0\src\xercesc\internal\XSAXMLScanner.cpp(310) : warning 
> C4245: 'argument' : conversion from '' to 'unsigned int', signed/unsigned 
> mismatch
> xerces-c-src_2_7_0\src\xercesc\framework\psvi\XSValue.cpp(1721) : warning 
> C4189: 'strLen' : local variable is initialized but not referenced
> xerces-c-src_2_7_0\src\xercesc\dom\deprecated\DOM_RangeException.cpp(36) : 
> warning C4244: 'argument' : conversion from 
> 'xercesc_2_7::DOM_RangeException::RangeExceptionCode' to 'short', possible 
> loss of data

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


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

Reply via email to