clang 22.0.0git
|
Pointer-authentication qualifiers. More...
#include "clang/AST/TypeBase.h"
Public Types | |
enum | { KeyNoneInternal = (1u << KeyBits) - 1 , MaxKey = KeyNoneInternal - 1 , MaxDiscriminator = (1u << DiscriminatorBits) - 1 } |
Public Member Functions | |
PointerAuthQualifier ()=default | |
bool | isPresent () const |
operator bool () const | |
unsigned | getKey () const |
bool | hasKeyNone () const |
bool | isAddressDiscriminated () const |
unsigned | getExtraDiscriminator () const |
PointerAuthenticationMode | getAuthenticationMode () const |
bool | isIsaPointer () const |
bool | authenticatesNullValues () const |
PointerAuthQualifier | withoutKeyNone () const |
bool | isEquivalent (PointerAuthQualifier Other) const |
uint32_t | getAsOpaqueValue () const |
std::string | getAsString () const |
std::string | getAsString (const PrintingPolicy &Policy) const |
bool | isEmptyWhenPrinted (const PrintingPolicy &Policy) const |
void | print (raw_ostream &OS, const PrintingPolicy &Policy) const |
void | Profile (llvm::FoldingSetNodeID &ID) const |
Static Public Member Functions | |
static PointerAuthQualifier | Create (unsigned Key, bool IsAddressDiscriminated, unsigned ExtraDiscriminator, PointerAuthenticationMode AuthenticationMode, bool IsIsaPointer, bool AuthenticatesNullValues) |
static PointerAuthQualifier | fromOpaqueValue (uint32_t Opaque) |
Friends | |
bool | operator== (PointerAuthQualifier Lhs, PointerAuthQualifier Rhs) |
bool | operator!= (PointerAuthQualifier Lhs, PointerAuthQualifier Rhs) |
Pointer-authentication qualifiers.
Definition at line 152 of file TypeBase.h.
anonymous enum |
Enumerator | |
---|---|
KeyNoneInternal | |
MaxKey | The maximum supported pointer-authentication key. |
MaxDiscriminator | The maximum supported pointer-authentication discriminator. |
Definition at line 225 of file TypeBase.h.
|
default |
Referenced by Create(), and withoutKeyNone().
|
inline |
Definition at line 285 of file TypeBase.h.
References isPresent().
Referenced by clang::CodeGen::CodeGenFunction::EmitPointerAuthInfo().
|
inlinestatic |
Definition at line 239 of file TypeBase.h.
References KeyNoneInternal, clang::PointerAuthKeyNone, and PointerAuthQualifier().
Referenced by clang::ASTContext::getObjCMemberSelTypePtrAuth(), and HandlePtrAuthQualifier().
|
inlinestatic |
Definition at line 308 of file TypeBase.h.
References clang::None, and clang::Result.
Referenced by clang::Qualifiers::getPointerAuth().
|
inline |
Definition at line 305 of file TypeBase.h.
Referenced by clang::Qualifiers::setPointerAuth().
std::string PointerAuthQualifier::getAsString | ( | ) | const |
Definition at line 2615 of file TypePrinter.cpp.
References clang::getAsString().
Referenced by DiagnoseBadConversion().
std::string PointerAuthQualifier::getAsString | ( | const PrintingPolicy & | Policy | ) | const |
Definition at line 2620 of file TypePrinter.cpp.
References print().
|
inline |
Definition at line 275 of file TypeBase.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitPointerAuthInfo(), and isPresent().
|
inline |
Definition at line 270 of file TypeBase.h.
References isPresent().
Referenced by clang::CodeGen::CodeGenFunction::EmitPointerAuthInfo(), print(), and clang::CodeGen::ConstantEmitter::tryEmitConstantSignedPointer().
|
inline |
Definition at line 258 of file TypeBase.h.
References isPresent().
Referenced by clang::CodeGen::CodeGenFunction::EmitPointerAuthInfo(), hasKeyNone(), print(), clang::Qualifiers::removeCommonQualifiers(), and clang::CodeGen::ConstantEmitter::tryEmitConstantSignedPointer().
|
inline |
Definition at line 263 of file TypeBase.h.
References getKey(), isPresent(), and KeyNoneInternal.
Referenced by clang::CodeGen::CodeGenFunction::EmitPointerAuthInfo(), clang::CodeGen::ConstantEmitter::tryEmitConstantSignedPointer(), and withoutKeyNone().
|
inline |
Definition at line 265 of file TypeBase.h.
References isPresent().
Referenced by clang::Sema::ActOnFields(), clang::Sema::BuildAtomicExpr(), clang::CodeGen::CodeGenFunction::EmitPointerAuthCopy(), clang::CodeGen::CodeGenFunction::EmitPointerAuthInfo(), clang::CodeGen::CodeGenFunction::GenerateCopyHelperFunction(), print(), and clang::CodeGen::ConstantEmitter::tryEmitConstantSignedPointer().
bool PointerAuthQualifier::isEmptyWhenPrinted | ( | const PrintingPolicy & | Policy | ) | const |
Definition at line 2627 of file TypePrinter.cpp.
References isPresent().
|
inline |
Definition at line 301 of file TypeBase.h.
References clang::Other, and withoutKeyNone().
Referenced by checkConditionalPointerCompatibility(), checkPointerTypesForAssignment(), clang::Sema::DiagnoseAssignmentResult(), DiagnoseBadConversion(), clang::Sema::FindCompositePointerType(), and clang::ASTContext::mergeTypes().
|
inline |
Definition at line 280 of file TypeBase.h.
References isPresent().
Referenced by clang::CodeGen::CodeGenFunction::EmitPointerAuthInfo().
|
inline |
Definition at line 250 of file TypeBase.h.
References getAuthenticationMode(), and clang::None.
Referenced by clang::Qualifiers::addPointerAuth(), authenticatesNullValues(), getExtraDiscriminator(), getKey(), hasKeyNone(), isAddressDiscriminated(), isEmptyWhenPrinted(), isIsaPointer(), operator bool(), print(), clang::TreeTransform< Derived >::RebuildQualifiedType(), and clang::Qualifiers::removeCommonQualifiers().
|
inlineexplicit |
Definition at line 256 of file TypeBase.h.
References isPresent().
void PointerAuthQualifier::print | ( | raw_ostream & | OS, |
const PrintingPolicy & | Policy ) const |
Definition at line 2631 of file TypePrinter.cpp.
References getExtraDiscriminator(), getKey(), isAddressDiscriminated(), and isPresent().
|
inline |
Definition at line 322 of file TypeBase.h.
|
inline |
Definition at line 290 of file TypeBase.h.
References hasKeyNone(), and PointerAuthQualifier().
Referenced by isEquivalent().
|
friend |
Definition at line 297 of file TypeBase.h.
|
friend |
Definition at line 294 of file TypeBase.h.