https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109656

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|14.3                        |14.0

--- Comment #13 from Jonathan Wakely <redi at gcc dot gnu.org> ---
I see why that fixed it.

  // Check whether TOKEN can construct a std::random_device successfully.
  inline bool
  random_device_available(const std::string& token) noexcept
  {
    try {
      std::random_device dev(token);
      return true;
    } catch (const std::system_error& /* See PR libstdc++/105081 */) {
      return false;
    }
  }

If the dev(token) constructor throws std::runtime_error instead of
std::system_error then it won't be caught, and will hit the 'noexcept' on the
surrounding function. r14-2217 made it throw std::system_error, so it's caught
now.

But I wouldn't expect "terminate without active exception".

Definitely fixed by that commit anyway.

Reply via email to