enum InitializationSequence::StepKind

Description

Describes the kind of a particular step in an initialization sequence.

Declared at: clang/include/clang/Sema/Initialization.h:807

Enumerators

NameValueComment
SK_ResolveAddressOfOverloadedFunction0Resolve the address of an overloaded function to a specific function declaration.
SK_CastDerivedToBasePRValue1Perform a derived-to-base cast, producing an rvalue.
SK_CastDerivedToBaseXValue2Perform a derived-to-base cast, producing an xvalue.
SK_CastDerivedToBaseLValue3Perform a derived-to-base cast, producing an lvalue.
SK_BindReference4Reference binding to an lvalue.
SK_BindReferenceToTemporary5Reference binding to a temporary.
SK_ExtraneousCopyToTemporary6An optional copy of a temporary object to another temporary object, which is permitted (but not required) by C++98/03 but not C++0x.
SK_FinalCopy7Direct-initialization from a reference-related object in the final stage of class copy-initialization.
SK_UserConversion8Perform a user-defined conversion, either via a conversion function or via a constructor.
SK_QualificationConversionPRValue9Perform a qualification conversion, producing a prvalue.
SK_QualificationConversionXValue10Perform a qualification conversion, producing an xvalue.
SK_QualificationConversionLValue11Perform a qualification conversion, producing an lvalue.
SK_FunctionReferenceConversion12Perform a function reference conversion, see [dcl.init.ref]p4.
SK_AtomicConversion13Perform a conversion adding _Atomic to a type.
SK_ConversionSequence14Perform an implicit conversion sequence.
SK_ConversionSequenceNoNarrowing15Perform an implicit conversion sequence without narrowing.
SK_ListInitialization16Perform list-initialization without a constructor.
SK_UnwrapInitList17Unwrap the single-element initializer list for a reference.
SK_RewrapInitList18Rewrap the single-element initializer list for a reference.
SK_ConstructorInitialization19Perform initialization via a constructor.
SK_ConstructorInitializationFromList20Perform initialization via a constructor, taking arguments from a single InitListExpr.
SK_ZeroInitialization21Zero-initialize the object
SK_CAssignment22C assignment
SK_StringInit23Initialization by string
SK_ObjCObjectConversion24An initialization that "converts" an Objective-C object (not a point to an object) to another Objective-C object type.
SK_ArrayLoopIndex25Array indexing for initialization by elementwise copy.
SK_ArrayLoopInit26Array initialization by elementwise copy.
SK_ArrayInit27Array initialization (from an array rvalue).
SK_GNUArrayInit28Array initialization (from an array rvalue) as a GNU extension.
SK_ParenthesizedArrayInit29Array initialization from a parenthesized initializer list. This is a GNU C++ extension.
SK_PassByIndirectCopyRestore30Pass an object by indirect copy-and-restore.
SK_PassByIndirectRestore31Pass an object by indirect restore.
SK_ProduceObjCObject32Produce an Objective-C object pointer.
SK_StdInitializerList33Construct a std::initializer_list from an initializer list.
SK_StdInitializerListConstructorCall34Perform initialization via a constructor taking a single std::initializer_list argument.
SK_OCLSamplerInit35Initialize an OpenCL sampler from an integer.
SK_OCLZeroOpaqueType36Initialize an opaque OpenCL type (event_t, queue_t, etc.) with zero