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)