When compiling with default warnings on gcc, we get lots of warnings about passing a negative value into an unsigned parameter. These seem all to be generated from a set of defines in Grammer.hpp

    enum {
         UNKNOWN_SCOPE = -2
       , TOP_LEVEL_SCOPE = -1
    };

And use of these in functions such as this:

    virtual const XMLElementDecl* getElemDecl
    (
        const   unsigned int    uriId
        , const XMLCh* const    baseName
        , const XMLCh* const    qName
        , unsigned int          scope
    )   const = 0;


How would people feel if we redefined those enums to be large positive integers such as UINT_MAX-1, UINT_MAX-2 or something? Or changing the scope parameter to be signed?

-jdb

Here's one such warning:

Compiling xercesc/validators/DTD/DTDScanner.cpp
xercesc/validators/DTD/DTDScanner.cpp: In member function 'void xercesc_3_0::DTDScanner::scanAttListDecl()': xercesc/validators/DTD/DTDScanner.cpp:822: warning: passing negative value 'TOP_LEVEL_SCOPE' for argument 4 to 'virtual xercesc_3_0::XMLElementDecl* xercesc_3_0::DTDGrammar::getElemDecl (unsigned int, const XMLCh*, const XMLCh*, unsigned int)' xercesc/validators/DTD/DTDScanner.cpp: In member function 'xercesc_3_0::ContentSpecNode* xercesc_3_0::DTDScanner::scanChildren (const xercesc_3_0::DTDElementDecl&, xercesc_3_0::XMLBuffer&)': xercesc/validators/DTD/DTDScanner.cpp:1290: warning: passing negative value 'TOP_LEVEL_SCOPE' for argument 4 to 'virtual xercesc_3_0::XMLElementDecl* xercesc_3_0::DTDGrammar::getElemDecl (unsigned int, const XMLCh*, const XMLCh*, unsigned int)' xercesc/validators/DTD/DTDScanner.cpp:1503: warning: passing negative value 'TOP_LEVEL_SCOPE' for argument 4 to 'virtual xercesc_3_0::XMLElementDecl* xercesc_3_0::DTDGrammar::getElemDecl (unsigned int, const XMLCh*, const XMLCh*, unsigned int)' xercesc/validators/DTD/DTDScanner.cpp: In member function 'void xercesc_3_0::DTDScanner::scanElementDecl()': xercesc/validators/DTD/DTDScanner.cpp:1854: warning: passing negative value 'TOP_LEVEL_SCOPE' for argument 4 to 'virtual xercesc_3_0::XMLElementDecl* xercesc_3_0::DTDGrammar::getElemDecl (unsigned int, const XMLCh*, const XMLCh*, unsigned int)' xercesc/validators/DTD/DTDScanner.cpp: In member function 'bool xercesc_3_0::DTDScanner::scanMixed(xercesc_3_0::DTDElementDecl&)': xercesc/validators/DTD/DTDScanner.cpp:3518: warning: passing negative value 'TOP_LEVEL_SCOPE' for argument 4 to 'virtual xercesc_3_0::XMLElementDecl* xercesc_3_0::DTDGrammar::getElemDecl (unsigned int, const XMLCh*, const XMLCh*, unsigned int)'


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

Reply via email to