enum CodeGenFunction::TypeCheckKind
Description
Situations in which we might emit a check for the suitability of a pointer or glvalue. Needs to be kept in sync with ubsan_handlers.cpp in compiler-rt.
Declared at: clang/lib/CodeGen/CodeGenFunction.h:2950
Enumerators
Name | Value | Comment |
---|---|---|
TCK_Load | 0 | Checking the operand of a load. Must be suitably sized and aligned. |
TCK_Store | 1 | Checking the destination of a store. Must be suitably sized and aligned. |
TCK_ReferenceBinding | 2 | Checking the bound value in a reference binding. Must be suitably sized and aligned, but is not required to refer to an object (until the reference is used), per core issue 453. |
TCK_MemberAccess | 3 | Checking the object expression in a non-static data member access. Must be an object within its lifetime. |
TCK_MemberCall | 4 | Checking the 'this' pointer for a call to a non-static member function. Must be an object within its lifetime. |
TCK_ConstructorCall | 5 | Checking the 'this' pointer for a constructor call. |
TCK_DowncastPointer | 6 | Checking the operand of a static_cast to a derived pointer type. Must be null or an object within its lifetime. |
TCK_DowncastReference | 7 | Checking the operand of a static_cast to a derived reference type. Must be an object within its lifetime. |
TCK_Upcast | 8 | Checking the operand of a cast to a base object. Must be suitably sized and aligned. |
TCK_UpcastToVirtualBase | 9 | Checking the operand of a cast to a virtual base object. Must be an object within its lifetime. |
TCK_NonnullAssign | 10 | Checking the value assigned to a _Nonnull pointer. Must not be null. |
TCK_DynamicOperation | 11 | Checking the operand of a dynamic_cast or a typeid expression. Must be null or an object within its lifetime. |