Author: rleigh
Date: Wed Jun 14 21:33:24 2017
New Revision: 1798773

URL: http://svn.apache.org/viewvc?rev=1798773&view=rev
Log:
xercesc: DOMCasts: Suppress cast alignment warnings

Modified:
    xerces/c/trunk/src/xercesc/dom/impl/DOMCasts.hpp

Modified: xerces/c/trunk/src/xercesc/dom/impl/DOMCasts.hpp
URL: 
http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/dom/impl/DOMCasts.hpp?rev=1798773&r1=1798772&r2=1798773&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/dom/impl/DOMCasts.hpp (original)
+++ xerces/c/trunk/src/xercesc/dom/impl/DOMCasts.hpp Wed Jun 14 21:33:24 2017
@@ -96,21 +96,29 @@ XERCES_CPP_NAMESPACE_BEGIN
 
 static inline DOMNodeImpl *castToNodeImpl(const DOMNode *p)
 {
-    DOMElementImpl *pE = (DOMElementImpl *)p;
+    // Note: hairy cast which is used for all node types, not just
+    // DOMElementImpl.
+    DOMElementImpl *pE = const_cast<DOMElementImpl *>(static_cast<const 
DOMElementImpl *>(p));
     return &(pE->fNode);
 }
 
 
 static inline DOMParentNode *castToParentImpl(const DOMNode *p) {
-    DOMElementImpl *pE = (DOMElementImpl *)p;
+    // Note: hairy cast which is used for all node types, not just
+    // DOMElementImpl.
+    DOMElementImpl *pE = const_cast<DOMElementImpl *>(static_cast<const 
DOMElementImpl *>(p));
     return &(pE->fParent);
 }
 
 
 static inline DOMChildNode *castToChildImpl(const DOMNode *p) {
-    DOMElementImpl *pE = (DOMElementImpl *)p;
+    // Note: hairy cast which is used for all node types, not just
+    // DOMElementImpl.
+    DOMElementImpl *pE = const_cast<DOMElementImpl *>(static_cast<const 
DOMElementImpl *>(p));
     if (pE->fNode.isLeafNode())  {
-        DOMTextImpl *pT = (DOMTextImpl *)p;
+        // Note: hairy cast which is used for all leaf node types, not just
+        // DOMTextImpl.
+        DOMTextImpl *pT = const_cast<DOMTextImpl *>(static_cast<const 
DOMTextImpl *>(p));
         return &(pT->fChild);
     }
     return &(pE->fChild);
@@ -121,14 +129,14 @@ static inline DOMNode *castToNode(const
        DOMElementImpl* dummy = 0;
     XMLSize_t parentOffset = (char *)&(dummy->fParent) - (char *)dummy;
     char *retPtr = (char *)p - parentOffset;
-    return (DOMNode *)retPtr;
+    return reinterpret_cast<DOMNode *>(retPtr);
 }
 
 static inline DOMNode *castToNode(const DOMNodeImpl *p) {
        DOMElementImpl* dummy = 0;
     XMLSize_t nodeImplOffset = (char *)&(dummy->fNode) - (char *)dummy;
     char *retPtr = (char *)p - nodeImplOffset;
-    return (DOMNode *)retPtr;
+    return reinterpret_cast<DOMNode *>(retPtr);
 }
 
 
@@ -138,7 +146,7 @@ static inline DOMNodeImpl *castToNodeImp
     XMLSize_t nodeImplOffset = (char *)&(dummy->fNode) - (char *)dummy;
     XMLSize_t parentOffset = (char *)&(dummy->fParent) - (char *)dummy;
     char *retPtr = (char *)p - parentOffset + nodeImplOffset;
-    return (DOMNodeImpl *)retPtr;
+    return reinterpret_cast<DOMNodeImpl *>(retPtr);
 }
 
 XERCES_CPP_NAMESPACE_END



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@xerces.apache.org
For additional commands, e-mail: commits-h...@xerces.apache.org

Reply via email to