bionic (3) __gnu_cxx::recursive_init_error.3cxx.gz

Provided by: libstdc++-5-doc_5.5.0-12ubuntu1_all bug

NAME

       __gnu_cxx::recursive_init_error

SYNOPSIS

       Inherits std::exception.

   Public Member Functions
       virtual const char * what () const noexcept

Detailed Description

       Exception thrown by __cxa_guard_acquire.

       6.7[stmt.dcl]/4: If control re-enters the declaration (recursively) while the object is being
       initialized, the behavior is undefined.

       Since we already have a library function to handle locking, we might as well check for this situation and
       throw an exception. We use the second byte of the guard variable to remember that we're in the middle of
       an initialization.

       Definition at line 699 of file cxxabi.h.

Member Function Documentation

   virtual const char* std::exception::what () const [virtual],  [noexcept],  [inherited]
       Returns a C-style character string describing the general cause of the current error.

       Reimplemented in std::bad_function_call, std::ios_base::failure, std::runtime_error, std::bad_typeid,
       std::bad_cast, std::logic_error, std::future_error, std::bad_exception, std::bad_weak_ptr,
       std::experimental::fundamentals_v1::bad_any_cast, and std::bad_alloc.

Author

       Generated automatically by Doxygen for libstdc++ from the source code.