table of contents
__gnu_cxx::recursive_init_error(3) | Library Functions Manual | __gnu_cxx::recursive_init_error(3) |
NAME¶
__gnu_cxx::recursive_init_error - Exception thrown by __cxa_guard_acquire.
C++ 2011 6.7 [stmt.dcl]/4: If control re-enters the declaration recursively while the variable is being initialized, the behavior is undefined.
SYNOPSIS¶
Inherits std::exception.
Public Member Functions¶
virtual const char * what () const _GLIBCXX_TXN_SAFE_DYN
noexcept
Detailed Description¶
Exception thrown by __cxa_guard_acquire.
C++ 2011 6.7 [stmt.dcl]/4: If control re-enters the declaration recursively while the variable 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 695 of file cxxabi.h.
Author¶
Generated automatically by Doxygen for libstdc++ from the source code.
Fri May 24 2024 | libstdc++ |