Uploaded image for project: 'XalanC'
  1. XalanC
  2. XALANC-765

Build fails on Solaris with C++11 enabled

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: CurrentCVS, 1.11
    • Fix Version/s: None
    • Component/s: XalanC
    • Labels:
      None
    • Environment:
      Solaris
    • Flags:
      Patch

      Description

      The -std=c++11 option with Solaris Studio 12.4 makes use of GNU libstdc++ 4.8.2 for the STL instead of the legacy Rogue Wave one. SolarisDefinitions.h therefore needs to be changed to check that __SUNPRO_CC_COMPAT == 'G'
      That comes alongside the _STLP_CONFIG_H (stlport) check to define XALAN_HAS_STD_ITERATORS/DISTANCE.
      This would also apply for the -compat=g option which can enable the use of libstdc++ (albeit an older version) with C++98.

      Note that testing for __GLIBCXX__ does not appear to work. I think that is only defined once an STL header has been included.

      The runConfigure script actually makes it quite awkward to build for C++11. I don't want -std=c++11 to be passed to the C compiler but it is needed for the C++ compiler when the C++ compiler is used as a linker driver. Normally with configure, I'd specify CXX='CC -std=c++11' but runConfigure doesn't cope with the space. I instead resorted to hacking Makefile.incl after configure is run.

        Attachments

          Activity

            People

            • Assignee:
              shathaway Steven J. Hathaway
              Reporter:
              opk Oliver Kiddle

              Dates

              • Created:
                Updated:

                Issue deployment