You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by "Roger Leigh (Jira)" <xe...@xml.apache.org> on 2020/06/02 20:25:00 UTC

[jira] [Commented] (XERCESC-2141) Enable C++11/14/17 with autoconf build and CMake build

    [ https://issues.apache.org/jira/browse/XERCESC-2141?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17124275#comment-17124275 ] 

Roger Leigh commented on XERCESC-2141:
--------------------------------------

In the interim, contemporary compilers are going to be enabling C++17 by default, so I've added this in addition to C++11 and C++14 for both Autoconf and CMake.

> Enable C++11/14/17 with autoconf build and CMake build
> ------------------------------------------------------
>
>                 Key: XERCESC-2141
>                 URL: https://issues.apache.org/jira/browse/XERCESC-2141
>             Project: Xerces-C++
>          Issue Type: Improvement
>          Components: Build
>            Reporter: Roger Leigh
>            Assignee: Roger Leigh
>            Priority: Major
>              Labels: autoconf, build, c++11, c++14, c++17
>             Fix For: 3.3.0
>
>         Attachments: 0001-autoconf-Enable-C-14-or-C-11-when-available.patch
>
>
> The CMake build will try to put the compiler in C++14 mode, falling back to C++11 then C++98.  The autoconf build doesn't do this, and the attached patch makes the behaviour match so both build systems will use the same fallbacks.
> Current compilers default to C++14.  Very old compilers have no support for C++11 or C++14.  But compilers in between support it, but not by default.  This adds the feature tests to check for such support and enable it when available.
> The CMake C++ standard support is user-configurable by setting the CMAKE_CXX_STANDARD setting.  Autoconf doesn't provide any way to do this, so the feature enabling isn't explicitly overridable.  I'm not sure if that's too problematic.  The main compatibility concern might be if this causes an ABI break with use of C++11/14 library features like the new string type.  However, we aren't making use of any of these features.  The main change would be the XMLCh type switch from uint16_t to char16_t.  I'm not sure what the Xerces policy for such changes has been in the past.  Any thoughts?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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