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

NameValueComment
TCK_Load0Checking the operand of a load. Must be suitably sized and aligned.
TCK_Store1Checking the destination of a store. Must be suitably sized and aligned.
TCK_ReferenceBinding2Checking 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_MemberAccess3Checking the object expression in a non-static data member access. Must be an object within its lifetime.
TCK_MemberCall4Checking the 'this' pointer for a call to a non-static member function. Must be an object within its lifetime.
TCK_ConstructorCall5Checking the 'this' pointer for a constructor call.
TCK_DowncastPointer6Checking the operand of a static_cast to a derived pointer type. Must be null or an object within its lifetime.
TCK_DowncastReference7Checking the operand of a static_cast to a derived reference type. Must be an object within its lifetime.
TCK_Upcast8Checking the operand of a cast to a base object. Must be suitably sized and aligned.
TCK_UpcastToVirtualBase9Checking the operand of a cast to a virtual base object. Must be an object within its lifetime.
TCK_NonnullAssign10Checking the value assigned to a _Nonnull pointer. Must not be null.
TCK_DynamicOperation11Checking the operand of a dynamic_cast or a typeid expression. Must be null or an object within its lifetime.