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
Name | Value | Comment |
---|---|---|
SK_ResolveAddressOfOverloadedFunction | 0 | Resolve the address of an overloaded function to a specific function declaration. |
SK_CastDerivedToBasePRValue | 1 | Perform a derived-to-base cast, producing an rvalue. |
SK_CastDerivedToBaseXValue | 2 | Perform a derived-to-base cast, producing an xvalue. |
SK_CastDerivedToBaseLValue | 3 | Perform a derived-to-base cast, producing an lvalue. |
SK_BindReference | 4 | Reference binding to an lvalue. |
SK_BindReferenceToTemporary | 5 | Reference binding to a temporary. |
SK_ExtraneousCopyToTemporary | 6 | An 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_FinalCopy | 7 | Direct-initialization from a reference-related object in the final stage of class copy-initialization. |
SK_UserConversion | 8 | Perform a user-defined conversion, either via a conversion function or via a constructor. |
SK_QualificationConversionPRValue | 9 | Perform a qualification conversion, producing a prvalue. |
SK_QualificationConversionXValue | 10 | Perform a qualification conversion, producing an xvalue. |
SK_QualificationConversionLValue | 11 | Perform a qualification conversion, producing an lvalue. |
SK_FunctionReferenceConversion | 12 | Perform a function reference conversion, see [dcl.init.ref]p4. |
SK_AtomicConversion | 13 | Perform a conversion adding _Atomic to a type. |
SK_ConversionSequence | 14 | Perform an implicit conversion sequence. |
SK_ConversionSequenceNoNarrowing | 15 | Perform an implicit conversion sequence without narrowing. |
SK_ListInitialization | 16 | Perform list-initialization without a constructor. |
SK_UnwrapInitList | 17 | Unwrap the single-element initializer list for a reference. |
SK_RewrapInitList | 18 | Rewrap the single-element initializer list for a reference. |
SK_ConstructorInitialization | 19 | Perform initialization via a constructor. |
SK_ConstructorInitializationFromList | 20 | Perform initialization via a constructor, taking arguments from a single InitListExpr. |
SK_ZeroInitialization | 21 | Zero-initialize the object |
SK_CAssignment | 22 | C assignment |
SK_StringInit | 23 | Initialization by string |
SK_ObjCObjectConversion | 24 | An initialization that "converts" an Objective-C object (not a point to an object) to another Objective-C object type. |
SK_ArrayLoopIndex | 25 | Array indexing for initialization by elementwise copy. |
SK_ArrayLoopInit | 26 | Array initialization by elementwise copy. |
SK_ArrayInit | 27 | Array initialization (from an array rvalue). |
SK_GNUArrayInit | 28 | Array initialization (from an array rvalue) as a GNU extension. |
SK_ParenthesizedArrayInit | 29 | Array initialization from a parenthesized initializer list. This is a GNU C++ extension. |
SK_PassByIndirectCopyRestore | 30 | Pass an object by indirect copy-and-restore. |
SK_PassByIndirectRestore | 31 | Pass an object by indirect restore. |
SK_ProduceObjCObject | 32 | Produce an Objective-C object pointer. |
SK_StdInitializerList | 33 | Construct a std::initializer_list from an initializer list. |
SK_StdInitializerListConstructorCall | 34 | Perform initialization via a constructor taking a single std::initializer_list argument. |
SK_OCLSamplerInit | 35 | Initialize an OpenCL sampler from an integer. |
SK_OCLZeroOpaqueType | 36 | Initialize an opaque OpenCL type (event_t, queue_t, etc.) with zero |