Philip Armstrong created XERCESC-2157:
-----------------------------------------

             Summary: Xerces C++ rtti requirement.
                 Key: XERCESC-2157
                 URL: https://issues.apache.org/jira/browse/XERCESC-2157
             Project: Xerces-C++
          Issue Type: Wish
    Affects Versions: 3.2.2
            Reporter: Philip Armstrong
         Attachments: 
0001-Change-dynamic_casts-to-virtual-methods-to-avoid-the.patch

The change introduced in XERCESC-2088 - Fix undefined casting behavior in DOM 
means that Xerces now requires rtti to build. Previously Xerces made a point of 
not requiring rtti and this was one of the reasons we used it.

As requested in the comments to that issue, attached is a small patch which 
shows our approach to eliminating the need for rtti, whilst keeping the same 
semantics in the code. The downside of this approach is that it a) requires a 
bunch of virtual methods added to DOMNode and probably more importantly b) also 
requires that any classes that inherit from both DOMNode and one of the 
HasXXXImpl classes must override the appropriate methods.--

Obviously b) especially is not ideal, but without refactoring the code to 
remove the multiple inheritance from both DOMNode and HasXXXImpl classes, this 
seemed to be the least invasive change that would allow us to continue building 
with no-rtti.

[^0001-Change-dynamic_casts-to-virtual-methods-to-avoid-the.patch]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to