[
https://issues.apache.org/jira/browse/THRIFT-2242?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13806957#comment-13806957
]
Ben Craig commented on THRIFT-2242:
-----------------------------------
As of 10/28/2013 (today), GCC's C++11 support is still classified as
experimental ( http://gcc.gnu.org/projects/cxx0x.html ) .
In addition, for Linux, the version of GCC is generally set by the
distribution. RHEL 5 ships with GCC 4.1. As long as clients still want to
support RHEL 5, C++11 won't be an option for them.
Regarding compiler upgrades...
Suppose we set something in our config.h to detect whether to use boost:: or
std:: for shared_ptr. Now suppose our client has authored code that creates
boost::shared_ptr objects, and passes them to the thrift libraries. When that
client moves from a C++03 compiler to a C++11 compiler, their code will break,
because boost::shared_ptr cannot convert to std::shared_ptr. Now, that client
will either need to change their code, or find the appropriate pre-processor /
auto-conf token to tweak to stay with boost::shared_ptr.
If boost is broken on a platform, chances are pretty good that Thrift is also
broken on that platform, even if it used std:: constructs.
> Generate C++11 code
> -------------------
>
> Key: THRIFT-2242
> URL: https://issues.apache.org/jira/browse/THRIFT-2242
> Project: Thrift
> Issue Type: Bug
> Components: C++ - Library
> Affects Versions: 0.9.1
> Reporter: Vitali Lovich
>
> unordered_map instead of map, unordered_set instead of set, noexcept instead
> of throw() (unless the exact semantics of throw() are needed which seems
> unlikely).
> It should use the shared_ptr implementation that the library is configured
> with.
--
This message was sent by Atlassian JIRA
(v6.1#6144)