clang 22.0.0git
clang::PointerAuthQualifier Class Reference

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)

Detailed Description

Pointer-authentication qualifiers.

Definition at line 152 of file TypeBase.h.

Member Enumeration Documentation

◆ anonymous enum

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.

Constructor & Destructor Documentation

◆ PointerAuthQualifier()

clang::PointerAuthQualifier::PointerAuthQualifier ( )
default

Referenced by Create(), and withoutKeyNone().

Member Function Documentation

◆ authenticatesNullValues()

bool clang::PointerAuthQualifier::authenticatesNullValues ( ) const
inline

Definition at line 285 of file TypeBase.h.

References isPresent().

Referenced by clang::CodeGen::CodeGenFunction::EmitPointerAuthInfo().

◆ Create()

PointerAuthQualifier clang::PointerAuthQualifier::Create ( unsigned Key,
bool IsAddressDiscriminated,
unsigned ExtraDiscriminator,
PointerAuthenticationMode AuthenticationMode,
bool IsIsaPointer,
bool AuthenticatesNullValues )
inlinestatic

◆ fromOpaqueValue()

PointerAuthQualifier clang::PointerAuthQualifier::fromOpaqueValue ( uint32_t Opaque)
inlinestatic

Definition at line 308 of file TypeBase.h.

References clang::None, and clang::Result.

Referenced by clang::Qualifiers::getPointerAuth().

◆ getAsOpaqueValue()

uint32_t clang::PointerAuthQualifier::getAsOpaqueValue ( ) const
inline

Definition at line 305 of file TypeBase.h.

Referenced by clang::Qualifiers::setPointerAuth().

◆ getAsString() [1/2]

std::string PointerAuthQualifier::getAsString ( ) const

Definition at line 2615 of file TypePrinter.cpp.

References clang::getAsString().

Referenced by DiagnoseBadConversion().

◆ getAsString() [2/2]

std::string PointerAuthQualifier::getAsString ( const PrintingPolicy & Policy) const

Definition at line 2620 of file TypePrinter.cpp.

References print().

◆ getAuthenticationMode()

PointerAuthenticationMode clang::PointerAuthQualifier::getAuthenticationMode ( ) const
inline

Definition at line 275 of file TypeBase.h.

Referenced by clang::CodeGen::CodeGenFunction::EmitPointerAuthInfo(), and isPresent().

◆ getExtraDiscriminator()

unsigned clang::PointerAuthQualifier::getExtraDiscriminator ( ) const
inline

◆ getKey()

◆ hasKeyNone()

bool clang::PointerAuthQualifier::hasKeyNone ( ) const
inline

◆ isAddressDiscriminated()

◆ isEmptyWhenPrinted()

bool PointerAuthQualifier::isEmptyWhenPrinted ( const PrintingPolicy & Policy) const

Definition at line 2627 of file TypePrinter.cpp.

References isPresent().

◆ isEquivalent()

◆ isIsaPointer()

bool clang::PointerAuthQualifier::isIsaPointer ( ) const
inline

Definition at line 280 of file TypeBase.h.

References isPresent().

Referenced by clang::CodeGen::CodeGenFunction::EmitPointerAuthInfo().

◆ isPresent()

◆ operator bool()

clang::PointerAuthQualifier::operator bool ( ) const
inlineexplicit

Definition at line 256 of file TypeBase.h.

References isPresent().

◆ print()

void PointerAuthQualifier::print ( raw_ostream & OS,
const PrintingPolicy & Policy ) const

◆ Profile()

void clang::PointerAuthQualifier::Profile ( llvm::FoldingSetNodeID & ID) const
inline

Definition at line 322 of file TypeBase.h.

◆ withoutKeyNone()

PointerAuthQualifier clang::PointerAuthQualifier::withoutKeyNone ( ) const
inline

Definition at line 290 of file TypeBase.h.

References hasKeyNone(), and PointerAuthQualifier().

Referenced by isEquivalent().

◆ operator!=

bool operator!= ( PointerAuthQualifier Lhs,
PointerAuthQualifier Rhs )
friend

Definition at line 297 of file TypeBase.h.

◆ operator==

bool operator== ( PointerAuthQualifier Lhs,
PointerAuthQualifier Rhs )
friend

Definition at line 294 of file TypeBase.h.


The documentation for this class was generated from the following files: