Hide Forgot
Description of problem: Calls to `std::uncaught_exception` after calling `std::rethrow_exception' always return `true' when `std::uncaught_exception' should return `false' unless an exception is in flight. `std::rethrow_exception' does not update `__cxa_eh_globals::uncaughtExceptions' while the following call to `__cxa_begin_catch' decrements it. This fixes PR 62258. How reproducible: Always Additional info: PATCH ==> https://gcc.gnu.org/ml/libstdc++/2015-02/msg00005.html This is a two-line patch that is already fixed upstream.
Affects RHEL 6.7 as well. Probably introduced here in RHEL6 * Tue Apr 15 2014 Marek Polacek <polacek> 4.4.7-5 - fix std::uncaught_exception (#1085442, PR c++/59224) as a side-effect since the problem does not manifest with libstdc++-4.4.7-3. This is an issue when using devtoolset compilers on RHEL6, esp. when using C++11 std::future with exceptions, which uses std::rethrow_exception() to move the exceptions across threads.
The related test passes on all architectures with gcc-4.8.5-14.el7. VERIFIED.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2017:2094