Uploaded image for project: 'Xerces-C++'
  1. Xerces-C++
  2. XERCESC-2157

Xerces C++ rtti requirement.

    XMLWordPrintableJSON

    Details

    • Type: Wish
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: 3.2.2
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None
    • Flags:
      Patch

      Description

      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

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                phila Philip Armstrong
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated: