[ 
https://issues.apache.org/jira/browse/XALANC-765?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Oliver Kiddle updated XALANC-765:
---------------------------------
    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.

  was:
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.


> Build fails on Solaris with C++11 enabled
> -----------------------------------------
>
>                 Key: XALANC-765
>                 URL: https://issues.apache.org/jira/browse/XALANC-765
>             Project: XalanC
>          Issue Type: Bug
>          Components: XalanC
>    Affects Versions: CurrentCVS, 1.11
>         Environment: Solaris
>            Reporter: Oliver Kiddle
>            Assignee: Steven J. Hathaway
>         Attachments: xalan-solaris-cxx11.diff
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> 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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to