On Linux/Intel64, revision 147294 gave g++ -c -o StylesheetExecutionContextDefault.o -DSPEC_CPU -DNDEBUG -DAPP_NO_THREADS -DXALAN_INMEM_MSG_LOADER -I. -Ixercesc -Ixercesc/dom -Ixercesc/dom/impl -Ixercesc/sax -Ixercesc/util/MsgLoaders/InMemory -Ixercesc/util/Transcoders/Iconv -Ixalanc/include -DPROJ_XMLPARSER -DPROJ_XMLUTIL -DPROJ_PARSERS -DPROJ_SAX4C -DPROJ_SAX2 -DPROJ_DOM -DPROJ_VALIDATORS -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -O3 -ffast-math -funroll-loops -DSPEC_CPU_LP64 -DSPEC_CPU_LINUX StylesheetExecutionContextDefault.cpp In file included from DOMAttrImpl.cpp:67: xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:148: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:148: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMNodeImpl*)': xercesc/dom/DOMCasts.hpp:154: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:154: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNodeImpl* xercesc_2_5::castToNodeImpl(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:162: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:162: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp:163: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:163: warning: (perhaps the 'offsetof' macro was used incorrectly) In file included from DOMAttrMapImpl.cpp:68: xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:148: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:148: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMNodeImpl*)': xercesc/dom/DOMCasts.hpp:154: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:154: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNodeImpl* xercesc_2_5::castToNodeImpl(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:162: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:162: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp:163: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:163: warning: (perhaps the 'offsetof' macro was used incorrectly) In file included from DOMCDATASectionImpl.cpp:65: xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:148: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:148: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMNodeImpl*)': xercesc/dom/DOMCasts.hpp:154: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:154: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNodeImpl* xercesc_2_5::castToNodeImpl(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:162: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:162: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp:163: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:163: warning: (perhaps the 'offsetof' macro was used incorrectly) In file included from DOMCharacterDataImpl.cpp:66: xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:148: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:148: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMNodeImpl*)': xercesc/dom/DOMCasts.hpp:154: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:154: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNodeImpl* xercesc_2_5::castToNodeImpl(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:162: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:162: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp:163: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:163: warning: (perhaps the 'offsetof' macro was used incorrectly) In file included from DOMChildNode.cpp:66: xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:148: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:148: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMNodeImpl*)': xercesc/dom/DOMCasts.hpp:154: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:154: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNodeImpl* xercesc_2_5::castToNodeImpl(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:162: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:162: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp:163: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:163: warning: (perhaps the 'offsetof' macro was used incorrectly) In file included from DOMCommentImpl.cpp:64: xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:148: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:148: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMNodeImpl*)': xercesc/dom/DOMCasts.hpp:154: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:154: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNodeImpl* xercesc_2_5::castToNodeImpl(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:162: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:162: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp:163: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:163: warning: (perhaps the 'offsetof' macro was used incorrectly) In file included from DOMDeepNodeListImpl.cpp:64: xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:148: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:148: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMNodeImpl*)': xercesc/dom/DOMCasts.hpp:154: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:154: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNodeImpl* xercesc_2_5::castToNodeImpl(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:162: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:162: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp:163: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:163: warning: (perhaps the 'offsetof' macro was used incorrectly) In file included from DOMDocumentFragmentImpl.cpp:63: xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:148: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:148: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMNodeImpl*)': xercesc/dom/DOMCasts.hpp:154: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:154: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNodeImpl* xercesc_2_5::castToNodeImpl(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:162: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:162: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp:163: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:163: warning: (perhaps the 'offsetof' macro was used incorrectly) In file included from DOMDocumentImpl.cpp:61: xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:148: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:148: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMNodeImpl*)': xercesc/dom/DOMCasts.hpp:154: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:154: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNodeImpl* xercesc_2_5::castToNodeImpl(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:162: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:162: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp:163: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:163: warning: (perhaps the 'offsetof' macro was used incorrectly) In file included from DOMDocumentTypeImpl.cpp:72: xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:148: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:148: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMNodeImpl*)': xercesc/dom/DOMCasts.hpp:154: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:154: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNodeImpl* xercesc_2_5::castToNodeImpl(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:162: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:162: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp:163: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:163: warning: (perhaps the 'offsetof' macro was used incorrectly) In file included from DOMElementImpl.cpp:74: xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:148: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:148: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMNodeImpl*)': xercesc/dom/DOMCasts.hpp:154: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:154: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNodeImpl* xercesc_2_5::castToNodeImpl(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:162: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:162: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp:163: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:163: warning: (perhaps the 'offsetof' macro was used incorrectly) In file included from DOMNamedNodeMapImpl.cpp:69: xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:148: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:148: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMNodeImpl*)': xercesc/dom/DOMCasts.hpp:154: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:154: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNodeImpl* xercesc_2_5::castToNodeImpl(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:162: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:162: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp:163: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:163: warning: (perhaps the 'offsetof' macro was used incorrectly) In file included from DOMNodeImpl.cpp:66: xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:148: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:148: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMNodeImpl*)': xercesc/dom/DOMCasts.hpp:154: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:154: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNodeImpl* xercesc_2_5::castToNodeImpl(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:162: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:162: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp:163: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:163: warning: (perhaps the 'offsetof' macro was used incorrectly) In file included from DOMNodeListImpl.cpp:64: xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:148: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:148: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMNodeImpl*)': xercesc/dom/DOMCasts.hpp:154: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:154: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNodeImpl* xercesc_2_5::castToNodeImpl(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:162: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:162: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp:163: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:163: warning: (perhaps the 'offsetof' macro was used incorrectly) In file included from DOMParentNode.cpp:70: xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:148: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:148: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMNodeImpl*)': xercesc/dom/DOMCasts.hpp:154: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:154: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNodeImpl* xercesc_2_5::castToNodeImpl(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:162: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:162: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp:163: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:163: warning: (perhaps the 'offsetof' macro was used incorrectly) In file included from DOMRangeImpl.cpp:66: xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:148: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:148: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNode* xercesc_2_5::castToNode(const xercesc_2_5::DOMNodeImpl*)': xercesc/dom/DOMCasts.hpp:154: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:154: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp: In function 'xercesc_2_5::DOMNodeImpl* xercesc_2_5::castToNodeImpl(const xercesc_2_5::DOMParentNode*)': xercesc/dom/DOMCasts.hpp:162: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fNode' of NULL object xercesc/dom/DOMCasts.hpp:162: warning: (perhaps the 'offsetof' macro was used incorrectly) xercesc/dom/DOMCasts.hpp:163: warning: invalid access to non-static data member 'xercesc_2_5::DOMElementImpl::fParent' of NULL object xercesc/dom/DOMCasts.hpp:163: warning: (perhaps the 'offsetof' macro was used incorrectly) In file included from ./xercesc/util/RefHashTableOf.hpp:373, from xercesc/dom/DocumentImpl.hpp:78, from DocumentImpl.cpp:65: ./xercesc/util/RefHashTableOf.c: In member function 'void xercesc_2_5::RefHashTableOf<TVal>::put(void*, TVal*) [with TVal = void]': DocumentImpl.cpp:833: instantiated from here ./xercesc/util/RefHashTableOf.c:460: warning: deleting 'void*' is undefined ./xercesc/util/RefHashTableOf.c: In member function 'void xercesc_2_5::RefHashTableOf<TVal>::removeAll() [with TVal = void]': ./xercesc/util/RefHashTableOf.c:226: instantiated from 'xercesc_2_5::RefHashTableOf<TVal>::~RefHashTableOf() [with TVal = void]' DocumentImpl.cpp:186: instantiated from here ./xercesc/util/RefHashTableOf.c:281: warning: deleting 'void*' is undefined ./xercesc/util/RefHashTableOf.c: In member function 'void xercesc_2_5::RefHashTableOf<TVal>::removeBucketElem(const void*, unsigned int&) [with TVal = void]': ./xercesc/util/RefHashTableOf.c:260: instantiated from 'void xercesc_2_5::RefHashTableOf<TVal>::removeKey(const void*) [with TVal = void]' DocumentImpl.cpp:831: instantiated from here ./xercesc/util/RefHashTableOf.c:596: warning: deleting 'void*' is undefined StylesheetExecutionContextDefault.cpp:2666: error: missing callgraph edge for call stmt: # .MEM_9 = VDEF <.MEM_8(D)> D.192336_7 = operator() (&s_defaultCollationFunctor, theLHS_4(D), theRHS_5(D), theCaseOrder_6(D)); virtual int xalanc_1_8::StylesheetExecutionContextDefault::DefaultCollationCompareFunctor::_ZNK10xalanc_1_833StylesheetExecutionContextDefault30DefaultCollationCompareFunctorclEPKtS3_S3_NS_22XalanCollationServices10eCaseOrderE.clone.9(const xalanc_1_8::XalanDOMChar*, const xalanc_1_8::XalanDOMChar*, xalanc_1_8::XalanCollationServices::eCaseOrder)/4442(-1) [0x2b948a25ea00]: (inline copy in virtual int xalanc_1_8::StylesheetExecutionContextDefault::collationCompare(const xalanc_1_8::XalanDOMChar*, const xalanc_1_8::XalanDOMChar*, const xalanc_1_8::XalanDOMChar*, xalanc_1_8::XalanCollationServices::eCaseOrder)/1819) availability:local 21 insns reachable body local finalized inlinable called by: virtual int xalanc_1_8::StylesheetExecutionContextDefault::collationCompare(const xalanc_1_8::XalanDOMChar*, const xalanc_1_8::XalanDOMChar*, const xalanc_1_8::XalanDOMChar*, xalanc_1_8::XalanCollationServices::eCaseOrder)/1819 (0.10 per call) (inlined) (can throw external) calls: StylesheetExecutionContextDefault.cpp:2666: internal compiler error: verify_cgraph_node failed Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. specmake[3]: *** [StylesheetExecutionContextDefault.o] Error 1
preprocessed source?
Created attachment 17837 [details] A testcase failed at -O3
Revision 147294: http://gcc.gnu.org/ml/gcc-cvs/2009-05/msg00268.html is the cause.
Subject: Re: [4.5 Regression] Revision 147294 failed 483.xalancbmk in SPEC CPU 2006 at -O3 Hi, I am testing the following patch thasolves the ICE. Problem here was that we cleated ipa-cp clone and clonning proces allowed devirtualization that however creates new dirrect call and callgraph is not properly updated. We should handle devirtualization when inlining or const propagating, this seems common case. We seem to miss here number of inlining oppurtunities. Honza Index: tree-inline.c =================================================================== --- tree-inline.c (revision 147320) +++ tree-inline.c (working copy) @@ -1522,7 +1522,8 @@ copy_bb (copy_body_data *id, basic_block gcc_assert (dest->needed || !dest->analyzed); if (id->transform_call_graph_edges == CB_CGE_MOVE_CLONES) cgraph_create_edge_including_clones (id->dst_node, dest, stmt, - bb->count, CGRAPH_FREQ_BASE, + bb->count, + compute_call_stmt_bb_frequency (id->dst_node->decl, bb), bb->loop_depth, CIF_ORIGINALLY_INDIRECT_CALL); else @@ -3535,8 +3536,9 @@ fold_marked_statements (int first, struc if (BASIC_BLOCK (first)) { gimple_stmt_iterator gsi; + basic_block bb = BASIC_BLOCK (first); - for (gsi = gsi_start_bb (BASIC_BLOCK (first)); + for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi); gsi_next (&gsi)) if (pointer_set_contains (statements, gsi_stmt (gsi))) @@ -3545,14 +3547,26 @@ fold_marked_statements (int first, struc if (fold_stmt (&gsi)) { + tree decl; + /* Re-read the statement from GSI as fold_stmt() may have changed it. */ gimple new_stmt = gsi_stmt (gsi); update_stmt (new_stmt); - if (is_gimple_call (old_stmt)) - cgraph_update_edges_for_call_stmt (old_stmt, new_stmt); + if (is_gimple_call (new_stmt) + && (decl = gimple_call_fndecl (new_stmt))) + { + struct cgraph_node *node = cgraph_node (current_function_decl); + if (cgraph_edge (node, old_stmt)) + cgraph_update_edges_for_call_stmt (old_stmt, new_stmt); + else + cgraph_create_edge_including_clones + (node, cgraph_node (decl), new_stmt, bb->count, + compute_call_stmt_bb_frequency (current_function_decl, bb), + bb->loop_depth, CIF_ORIGINALLY_INDIRECT_CALL); + } if (maybe_clean_or_replace_eh_stmt (old_stmt, new_stmt)) gimple_purge_dead_eh_edges (BASIC_BLOCK (first)); }
Subject: Bug 40084 Author: hubicka Date: Sun May 10 11:36:11 2009 New Revision: 147337 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=147337 Log: PR middle-end/40084 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Take old_call argument; rewrite. (cgraph_update_edges_for_call_stmt): Take old_decl argument. * cgraph.h (cgraph_update_edges_for_call_stmt): Update prototype. * tree-inline.c (copy_bb): Set frequency correctly. (fold_marked_statements): Update call of cgraph_update_edges_for_call_stmt. Modified: trunk/gcc/ChangeLog trunk/gcc/cgraph.c trunk/gcc/cgraph.h trunk/gcc/tree-inline.c
Fixed.