You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "James E. King III (JIRA)" <ji...@apache.org> on 2018/12/07 12:45:00 UTC

[jira] [Comment Edited] (THRIFT-4678) add noexcept cpp generator option

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

James E. King III edited comment on THRIFT-4678 at 12/7/18 12:44 PM:
---------------------------------------------------------------------

In this effort here, `BOOST_NOEXCEPT_OR_NOTHROW` is a good option for exception declarations, however if we build any exception code into the link library, one would have to build a library for `C++03` and one for `C++11` in order for that to work.  It starts getting a bit messy.

I think it would be useful to first get the entire C++ library to work without boost if someone has `C++11` or later.  Then we can drop support for `C++03`.  Anyone who needs `C++03` support can use an older version (like 0.11.0 or 0.12.0, to be released soon, hopefully).  THRIFT-4441 covers the effort to wean the project off boost.  Perhaps this work can be done in cooperation with that work?  The author of THRIFT-4441 seems to have disappeared or dropped their effort; they were pretty close to completing the work of getting to `C++11` without the need for boost.


was (Author: jking3):
In this effort here, `BOOST_NOEXCEPT_OR_NOTHROW` is a good option for exception declarations, however if we build any exception code into the link library, one would have to build a library for C++03 and one for C++11 in order for that to work.  It starts getting a bit messy.

I think it would be useful to first get the entire C++ library to work without boost if someone has C++11 or later.  Then we can drop support for C++03.  Anyone who needs C++03 support can use an older version (like 0.11.0 or 0.12.0, to be released soon, hopefully).  THRIFT-4441 covers the effort to wean the project off boost.  Perhaps this work can be done in cooperation with that work?  The author of THRIFT-4441 seems to have disappeared or dropped their effort; they were pretty close to completing the work of getting to C++11 without the need for boost.

> add noexcept cpp generator option
> ---------------------------------
>
>                 Key: THRIFT-4678
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4678
>             Project: Thrift
>          Issue Type: Improvement
>          Components: C++ - Compiler, C++ - Library
>    Affects Versions: 0.11.0
>            Reporter: yuanyuan chen
>            Priority: Minor
>
> The C++11 standard has deprecated the usage of throw() to express exceptions,so to avoid warnings from the compiler,I think this option is useful.
> I have a pull request in github,this issue is created to track it.
> Some questions remain:
> 1.Should we change the runtime c++ library to use BOOST_NOEXCEPT_OR_NOTHROW?
> 2.Should we add an control option to enable all c++11 options like moveable_types .etc?
> 3.Should we begin to support C+17 features? I think std::optional should be used to implement optional keyword,but this is clearly an API breaking change,so we need an c+17 control option.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)