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]