class EHScopeStack::ConditionalCleanup
Declaration
template <class T, class... As>
class EHScopeStack::ConditionalCleanup : public Cleanup { /* full declaration omitted */ };
Description
ConditionalCleanup stores the saved form of its parameters, then restores them and performs the cleanup.
Declared at: clang/lib/CodeGen/EHScopeStack.h:197
Inherits from: EHScopeStack::Cleanup
Templates
- T
- As
Member Variables
- private clang::CodeGen::EHScopeStack::ConditionalCleanup:: SavedTuple Saved
Method Overview
- public ConditionalCleanup<T, As...>(typename DominatingValue<As>::saved_type... A)
- public ConditionalCleanup<T, As...>(clang::CodeGen::EHScopeStack::ConditionalCleanup::SavedTuple Tuple)
- private void Emit(clang::CodeGen::CodeGenFunction & CGF, clang::CodeGen::EHScopeStack::Cleanup::Flags flags)
- private template <std::size_t... Is>T restore(clang::CodeGen::CodeGenFunction & CGF, std::index_sequence<Is...>)
Inherited from EHScopeStack::Cleanup:
Methods
¶ConditionalCleanup<T, As...>(
typename DominatingValue<As>::saved_type... A)
ConditionalCleanup<T, As...>(
typename DominatingValue<As>::saved_type... A)
Declared at: clang/lib/CodeGen/EHScopeStack.h:213
Parameters
- typename DominatingValue<As>::saved_type... A
¶ConditionalCleanup<T, As...>(
clang::CodeGen::EHScopeStack::
ConditionalCleanup::SavedTuple Tuple)
ConditionalCleanup<T, As...>(
clang::CodeGen::EHScopeStack::
ConditionalCleanup::SavedTuple Tuple)
Declared at: clang/lib/CodeGen/EHScopeStack.h:216
Parameters
- clang::CodeGen::EHScopeStack::ConditionalCleanup:: SavedTuple Tuple
¶void Emit(
clang::CodeGen::CodeGenFunction& CGF,
clang::CodeGen::EHScopeStack::Cleanup::Flags
flags)
void Emit(
clang::CodeGen::CodeGenFunction& CGF,
clang::CodeGen::EHScopeStack::Cleanup::Flags
flags)
Description
Emit the cleanup. For normal cleanups, this is run in the same EH context as when the cleanup was pushed, i.e. the immediately-enclosing context of the cleanup scope. For EH cleanups, this is run in a terminate context.
Declared at: clang/lib/CodeGen/EHScopeStack.h:208
Parameters
¶template <std::size_t... Is>
T restore(clang::CodeGen::CodeGenFunction& CGF,
std::index_sequence<Is...>)
template <std::size_t... Is>
T restore(clang::CodeGen::CodeGenFunction& CGF,
std::index_sequence<Is...>)
Declared at: clang/lib/CodeGen/EHScopeStack.h:202
Templates
- std::size_t Is
Parameters
- clang::CodeGen::CodeGenFunction& CGF
- std::index_sequence<Is...>