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

Xerces C++ rtti requirement.

    XMLWordPrintableJSON

Details

    • Wish
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • 3.2.2
    • None
    • None
    • None
    • 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

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

              Dates

                Created:
                Updated: