Also from gcc 2.95.2 on Linux and Solaris 8, I'm getting several warnings
during Xerces compilation:

Base64.cpp: In function `static bool Base64::isData(const XMLCh &)':
Base64.cpp:301: warning: comparison is always false due to limited range of data
type
HexBin.cpp: In function `static bool HexBin::isHex(const XMLCh &)':
HexBin.cpp:118: warning: comparison is always false due to limited range of data
type
/xerces-c-src/include/util/RefHashTableOf.c: In method `void
RefHashTableOf<void>::removeAll()':
/xerces-c-src/include/util/RefHashTableOf.c:149:   instantiated from
`RefHashTableOf<void>::~RefHashTableOf()'
DocumentImpl.cpp:177:   instantiated from here
/xerces-c-src/include/util/RefHashTableOf.c:204: warning: `void *' is not a
pointer-to-object type
/xerces-c-src/include/util/RefHashTableOf.c: In method `void
RefHashTableOf<void>::removeBucketElem(const void *, unsigned int &)':
/xerces-c-src/include/util/RefHashTableOf.c:183:   instantiated from
`RefHashTableOf<void>::removeKey(const void *)'
DocumentImpl.cpp:816:   instantiated from here
/xerces-c-src/include/util/RefHashTableOf.c:345: warning: `void *' is not a
pointer-to-object type
/xerces-c-src/include/util/RefHashTableOf.c: In method `void
RefHashTableOf<void>::put(void *, void *)':
DocumentImpl.cpp:818:   instantiated from here
/xerces-c-src/include/util/RefHashTableOf.c:256: warning: `void *' is not a
pointer-to-object type
IDDocumentImpl.cpp: In method `void IDDocumentImpl::deleteHeap()':
IDDocumentImpl.cpp:926: warning: `void *' is not a pointer-to-object type
/xerces-c-src/include/util/RefHashTableOf.c: In method `void
RefHashTableOf<void>::removeBucketElem(const void *, unsigned int &)':
/xerces-c-src/include/util/RefHashTableOf.c:183:   instantiated from
`RefHashTableOf<void>::removeKey(const void *)'
IDDocumentImpl.cpp:761:   instantiated from here
/xerces-c-src/include/util/RefHashTableOf.c:345: warning: `void *' is not a
pointer-to-object type
/xerces-c-src/include/util/RefHashTableOf.c: In method `void
RefHashTableOf<void>::put(void *, void *)':
IDDocumentImpl.cpp:763:   instantiated from here
/xerces-c-src/include/util/RefHashTableOf.c:256: warning: `void *' is not a
pointer-to-object type
In file included from IDDOMImplementation.cpp:73:
IDDOMImplementation.hpp:92: warning: `class IDDOMImplementation' only defines
private constructors and has no friends
In file included from IDNodeImpl.cpp:70:
IDDOMImplementation.hpp:92: warning: `class IDDOMImplementation' only defines
private constructors and has no friends
In file included from GeneralAttributeCheck.cpp:80:
/xerces-c-src/include/validators/schema/GeneralAttributeCheck.hpp:289: warning:
`class GeneralAttributeCheck' only defines private constructors and has no
friends
In file included from TraverseSchema.cpp:200:
/xerces-c-src/include/validators/schema/GeneralAttributeCheck.hpp:289: warning:
`class GeneralAttributeCheck' only defines private constructors and has no
friends


I'm not sure if some of these messages might indicate serious problems...

Michael Huedepohl


Dean Roddey wrote:
> 
> 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]

Reply via email to