Every compiler puts out different warnings than others. Under VC++, it
generally compiles with no warnings at the highest warning level that its
reasonable to use. There is one higher but it is very verbose. Since
probably no one on the team works regularly with your compiler, its unlikely
that they will know about the warnings yours puts out. Warnings about
inlines not being inlined are just that, warnings. Some compilers are more
agressive than others, and there is always the possibility that some
compilers won't inline some things, but that's no reason to give up on the
very significant performance gains that inlines provide to those compilers
able to handle them.

Aren't most of the unreachable code warnings probably things like
while(true){} stuff, where the compiler isn't smart enough to realize that
you really do break out eventually and fall out of the loop?

--------------------------
Dean Roddey
The Charmed Quark Controller
Charmed Quark Software
[EMAIL PROTECTED]
http://www.charmedquark.com

"If it don't have a control port, don't buy it!"


----- Original Message -----
From: "Don Mastrovito" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, November 19, 2001 8:47 AM
Subject: Compilation warnings


> When I first became involved with Xerces, I was amazed at the number of
> compilation warnings generated when rebuilding the library.  I had always
> assumed that because Xerces was a work-in-progress, that these would
> eventually be cleaned up.  That doesn't seem to be the case.  I could make
> the edits but don't have the ability to adequately test *all* the
> changes.  Most are nearly all trivial edits.  Alternately, I (and
hopefully
> others) could fix things one module at a time.  Is there interest in
> addressing the warnings?  I don't see suppressing them as a permanent
> solution.  It merely hides potentially bad code or bad coding practices.
>
> The following is a hand-edited abridged list of the more obvious warnings
> produced by the Borland compiler.  It does not include the (literally)
> hundreds of warnings pertaining to functions that cannot be inlined for
> various reasons.  The first warning in XML256TableTranscoder.cpp is
> probably the most serious in the list.
>
> ElementImpl.cpp(425): W8066 Unreachable code
> ElementImpl.cpp(464): W8066 Unreachable code
> NodeIDMap.cpp(217): W8066 Unreachable code
> NodeImpl.cpp(314): W8066 Unreachable code
> NodeImpl.cpp(325): W8066 Unreachable code
> NodeImpl.cpp(332): W8066 Unreachable code
> NodeImpl.cpp(480): W8066 Unreachable code
> RangeImpl.cpp(933): W8008 Condition is always false
> RangeImpl.cpp(1629): W8012 Comparing signed and unsigned values
> RangeImpl.cpp(1636): W8012 Comparing signed and unsigned values
> XMLBufferMgr.cpp(149): W8066 Unreachable code
> ElemStack.cpp(192): W8004 'childCount' is assigned a value that is never
used
> ElemStack.cpp(231): W8004 'childCount' is assigned a value that is never
used
> XMLReader.cpp(1615): W8066 Unreachable code
> XMLScanner.cpp(3227): W8004 'gotAttrs' is assigned a value that is never
used
> XMLScanner2.cpp(864): W8004 'firstNonWS' is assigned a value that is never
used
> XMLScanner2.cpp(864): W8004 'curState' is assigned a value that is never
used
> XMLScanner2.cpp(1355): W8004 'suffPtr' is assigned a value that is never
used
> XMLScanner2.cpp(1773): W8066 Unreachable code
> XMLScanner2.cpp(2013): W8066 Unreachable code
> XMLScanner2.cpp(2147): W8004 'CDataPrefix' is assigned a value that is
> never used
> SAX2XMLReaderImpl.cpp(1371): W8066 Unreachable code
> SAX2XMLReaderImpl.cpp(1388): W8066 Unreachable code
> XMLReaderFactory.hpp(100): W8066 Unreachable code
> Base64.cpp(424): W8008 Condition is always false
> HexBin.cpp(115): W8008 Condition is always false
> Win32MsgLoader.cpp(202): W8012 Comparing signed and unsigned values
> WinSockNetAccessor.cpp(105): W8066 Unreachable code
> WinSockNetAccessor.cpp(114): W8066 Unreachable code
> Op.cpp(91): W8066 Unreachable code
> Op.cpp(97): W8066 Unreachable code
> Op.cpp(103): W8066 Unreachable code
> Op.cpp(109): W8066 Unreachable code
> Op.cpp(115): W8066 Unreachable code
> Op.cpp(121): W8066 Unreachable code
> Op.cpp(127): W8066 Unreachable code
> Op.cpp(133): W8066 Unreachable code
> Op.cpp(139): W8066 Unreachable code
> Op.cpp(145): W8066 Unreachable code
> Op.cpp(151): W8066 Unreachable code
> ParserForXMLSchema.cpp(245): W8004 'start' is assigned a value that is
> never used
> ParserForXMLSchema.cpp(352): W8066 Unreachable code
> ParserForXMLSchema.cpp(358): W8066 Unreachable code
> ParserForXMLSchema.cpp(364): W8066 Unreachable code
> ParserForXMLSchema.cpp(370): W8066 Unreachable code
> ParserForXMLSchema.cpp(388): W8066 Unreachable code
> ParserForXMLSchema.cpp(394): W8066 Unreachable code
> ParserForXMLSchema.cpp(412): W8066 Unreachable code
> ParserForXMLSchema.cpp(418): W8066 Unreachable code
> ParserForXMLSchema.cpp(424): W8066 Unreachable code
> ParserForXMLSchema.cpp(430): W8066 Unreachable code
> ParserForXMLSchema.cpp(436): W8066 Unreachable code
> ParserForXMLSchema.cpp(442): W8066 Unreachable code
> ParserForXMLSchema.cpp(448): W8066 Unreachable code
> ParserForXMLSchema.cpp(454): W8066 Unreachable code
> ParserForXMLSchema.cpp(460): W8066 Unreachable code
> ParserForXMLSchema.cpp(466): W8066 Unreachable code
> RegularExpression.cpp(1163): W8066 Unreachable code
> RegxParser.cpp(1042): W8004 'start' is assigned a value that is never used
> RegxParser.cpp(1197): W8004 'pStart' is assigned a value that is never
used
> TokenFactory.cpp(206): W8066 Unreachable code
> XML256TableTranscoder.cpp(163): W8060 Possibly incorrect assignment
> XML256TableTranscoder.cpp(264): W8004 'curByte' is assigned a value that
is
> never used
> XMLBigDecimal.cpp(312): W8008 Condition is always false
> XMLDouble.cpp(442): W8066 Unreachable code
> XMLDouble.cpp(509): W8066 Unreachable code
> XMLDouble.cpp(536): W8066 Unreachable code
> XMLFloat.cpp(430): W8066 Unreachable code
> XMLFloat.cpp(497): W8066 Unreachable code
> XMLFloat.cpp(523): W8066 Unreachable code
> XMLString.cpp(358): W8012 Comparing signed and unsigned values
> XMLURL.cpp(825): W8010 Continuation character \ found in // comment
> XMLUTF16Transcoder.cpp(139): W8008 Condition is always true
> XMLUTF16Transcoder.cpp(146): W8066 Unreachable code
> XMLUTF16Transcoder.cpp(147): W8066 Unreachable code
> XMLUTF16Transcoder.cpp(216): W8008 Condition is always true
> XMLUTF16Transcoder.cpp(223): W8066 Unreachable code
> XMLUTF16Transcoder.cpp(224): W8066 Unreachable code
> DFAContentModel.cpp(650): W8004 'leafType' is assigned a value that is
> never used
> SimpleContentModel.cpp(310): W8066 Unreachable code
> SimpleContentModel.cpp(470): W8066 Unreachable code
> AnySimpleTypeDatatypeValidator.cpp(103): W8066 Unreachable code
> DTDScanner.cpp(962): W8066 Unreachable code
> DTDValidator.cpp(446): W8004 'sawOneValue' is assigned a value that is
> never used
> SchemaAttDefList.cpp(128): W8066 Unreachable code
> SchemaAttDefList.cpp(138): W8066 Unreachable code
> SchemaElementDecl.cpp(254): W8066 Unreachable code
> TraverseSchema.cpp(2400): W8004 'subGroupTypeInfo' is assigned a value
that
> is never used
> TraverseSchema.cpp(2400): W8004 'subGroupValidator' is assigned a value
> that is never used
> TraverseSchema.cpp(2890): W8004 'size' is assigned a value that is never
used
> TraverseSchema.cpp(4989): W8004 'baseTypeSymbol' is assigned a value that
> is never used
>
> ---------------------------------------------------------------------
> 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