clang 19.0.0git
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
clang::PointerAuthQualifier Class Reference

Pointer-authentication qualifiers. More...

#include "clang/AST/Type.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
 
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 145 of file Type.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 218 of file Type.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 278 of file Type.h.

References Data, and isPresent().

◆ Create()

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

Definition at line 232 of file Type.h.

References KeyNoneInternal, clang::PointerAuthKeyNone, and PointerAuthQualifier().

◆ fromOpaqueValue()

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

Definition at line 301 of file Type.h.

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

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

◆ getAsOpaqueValue()

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

Definition at line 298 of file Type.h.

References Data.

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

◆ getAuthenticationMode()

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

Definition at line 268 of file Type.h.

References Data.

Referenced by isPresent().

◆ getExtraDiscriminator()

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

Definition at line 263 of file Type.h.

References Data, and isPresent().

◆ getKey()

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

Definition at line 251 of file Type.h.

References Data, and isPresent().

Referenced by hasKeyNone(), and clang::Qualifiers::removeCommonQualifiers().

◆ hasKeyNone()

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

Definition at line 256 of file Type.h.

References getKey(), isPresent(), and KeyNoneInternal.

Referenced by withoutKeyNone().

◆ isAddressDiscriminated()

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

Definition at line 258 of file Type.h.

References Data, and isPresent().

◆ isEquivalent()

bool clang::PointerAuthQualifier::isEquivalent ( PointerAuthQualifier  Other) const
inline

Definition at line 294 of file Type.h.

References clang::Other, and withoutKeyNone().

◆ isIsaPointer()

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

Definition at line 273 of file Type.h.

References Data, and isPresent().

◆ isPresent()

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

◆ operator bool()

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

Definition at line 249 of file Type.h.

References isPresent().

◆ Profile()

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

Definition at line 309 of file Type.h.

References Data, and ID.

◆ withoutKeyNone()

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

Definition at line 283 of file Type.h.

References hasKeyNone(), and PointerAuthQualifier().

Referenced by isEquivalent().

Friends And Related Function Documentation

◆ operator!=

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

Definition at line 290 of file Type.h.

◆ operator==

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

Definition at line 287 of file Type.h.


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