class DeclSpec

Declaration

class DeclSpec { /* full declaration omitted */ };

Description

Captures information about "declaration specifiers". "Declaration specifiers" encompasses storage-class-specifiers, type-specifiers, type-qualifiers, and function-specifiers.

Declared at: clang/include/clang/Sema/DeclSpec.h:229

Member Variables

private unsigned int StorageClassSpec
private unsigned int ThreadStorageClassSpec
private unsigned int SCS_extern_in_linkage_spec
private unsigned int TypeSpecWidth
private unsigned int TypeSpecComplex
private unsigned int TypeSpecSign
private unsigned int TypeSpecType
private unsigned int TypeAltiVecVector
private unsigned int TypeAltiVecPixel
private unsigned int TypeAltiVecBool
private unsigned int TypeSpecOwned
private unsigned int TypeSpecPipe
private unsigned int TypeSpecSat
private unsigned int ConstrainedAuto
private unsigned int TypeQualifiers
private unsigned int FS_inline_specified
private unsigned int FS_forceinline_specified
private unsigned int FS_virtual_specified
private unsigned int FS_noreturn_specified
private unsigned int Friend_specified
private unsigned int ConstexprSpecifier
private anonymous struct / union
private clang::ExplicitSpecifier FS_explicit_specifier
ExplicitSpecifier - Store information about explicit spicifer.
private clang::ParsedAttributes Attrs
private clang::CXXScopeSpec TypeScope
private clang::SourceRange Range
private clang::SourceLocation StorageClassSpecLoc
private clang::SourceLocation ThreadStorageClassSpecLoc
private clang::SourceRange TSWRange
private clang::SourceLocation TSCLoc
private clang::SourceLocation TSSLoc
private clang::SourceLocation TSTLoc
private clang::SourceLocation AltiVecLoc
private clang::SourceLocation TSSatLoc
private clang::SourceLocation TSTNameLoc
TSTNameLoc - If TypeSpecType is any of class, enum, struct, union, typename, then this is the location of the named type (if present); otherwise, it is the same as TSTLoc. Hence, the pair TSTLoc and TSTNameLoc provides source range info for tag types.
private clang::SourceRange TypeofParensRange
private clang::SourceLocation TQ_constLoc
private clang::SourceLocation TQ_restrictLoc
private clang::SourceLocation TQ_volatileLoc
private clang::SourceLocation TQ_atomicLoc
private clang::SourceLocation TQ_unalignedLoc
private clang::SourceLocation FS_inlineLoc
private clang::SourceLocation FS_virtualLoc
private clang::SourceLocation FS_explicitLoc
private clang::SourceLocation FS_noreturnLoc
private clang::SourceLocation FS_explicitCloseParenLoc
private clang::SourceLocation FS_forceinlineLoc
private clang::SourceLocation FriendLoc
private clang::SourceLocation ModulePrivateLoc
private clang::SourceLocation ConstexprLoc
private clang::SourceLocation TQ_pipeLoc
private clang::WrittenBuiltinSpecs writtenBS
private clang::ObjCDeclSpec* ObjCQualifiers
public static const clang::DeclSpec::TSCS TSCS_unspecified = clang::TSCS_unspecified
public static const clang::DeclSpec::TSCS TSCS___thread = clang::TSCS___thread
public static const clang::DeclSpec::TSCS TSCS_thread_local = clang::TSCS_thread_local
public static const clang::DeclSpec::TSCS TSCS__Thread_local = clang::TSCS__Thread_local
public static const clang::DeclSpec::TST TST_unspecified = clang::TST_unspecified
public static const clang::DeclSpec::TST TST_void = clang::TST_void
public static const clang::DeclSpec::TST TST_char = clang::TST_char
public static const clang::DeclSpec::TST TST_wchar = clang::TST_wchar
public static const clang::DeclSpec::TST TST_char8 = clang::TST_char8
public static const clang::DeclSpec::TST TST_char16 = clang::TST_char16
public static const clang::DeclSpec::TST TST_char32 = clang::TST_char32
public static const clang::DeclSpec::TST TST_int = clang::TST_int
public static const clang::DeclSpec::TST TST_int128 = clang::TST_int128
public static const clang::DeclSpec::TST TST_bitint = clang::TST_bitint
public static const clang::DeclSpec::TST TST_half = clang::TST_half
public static const clang::DeclSpec::TST TST_BFloat16 = clang::TST_BFloat16
public static const clang::DeclSpec::TST TST_float = clang::TST_float
public static const clang::DeclSpec::TST TST_double = clang::TST_double
public static const clang::DeclSpec::TST TST_float16 = clang::TST_Float16
public static const clang::DeclSpec::TST TST_accum = clang::TST_Accum
public static const clang::DeclSpec::TST TST_fract = clang::TST_Fract
public static const clang::DeclSpec::TST TST_float128 = clang::TST_float128
public static const clang::DeclSpec::TST TST_ibm128 = clang::TST_ibm128
public static const clang::DeclSpec::TST TST_bool = clang::TST_bool
public static const clang::DeclSpec::TST TST_decimal32 = clang::TST_decimal32
public static const clang::DeclSpec::TST TST_decimal64 = clang::TST_decimal64
public static const clang::DeclSpec::TST TST_decimal128 = clang::TST_decimal128
public static const clang::DeclSpec::TST TST_enum = clang::TST_enum
public static const clang::DeclSpec::TST TST_union = clang::TST_union
public static const clang::DeclSpec::TST TST_struct = clang::TST_struct
public static const clang::DeclSpec::TST TST_interface = clang::TST_interface
public static const clang::DeclSpec::TST TST_class = clang::TST_class
public static const clang::DeclSpec::TST TST_typename = clang::TST_typename
public static const clang::DeclSpec::TST TST_typeofType = clang::TST_typeofType
public static const clang::DeclSpec::TST TST_typeofExpr = clang::TST_typeofExpr
public static const clang::DeclSpec::TST TST_decltype = clang::TST_decltype
public static const clang::DeclSpec::TST TST_decltype_auto = clang::TST_decltype_auto
public static const clang::DeclSpec::TST TST_underlyingType = clang::TST_underlyingType
public static const clang::DeclSpec::TST TST_auto = clang::TST_auto
public static const clang::DeclSpec::TST TST_auto_type = clang::TST_auto_type
public static const clang::DeclSpec::TST TST_unknown_anytype = clang::TST_unknown_anytype
public static const clang::DeclSpec::TST TST_atomic = clang::TST_atomic
public static const clang::DeclSpec::TST TST_image1d_t = clang::TST_image1d_t
public static const clang::DeclSpec::TST TST_image1d_array_t = clang::TST_image1d_array_t
public static const clang::DeclSpec::TST TST_image1d_buffer_t = clang::TST_image1d_buffer_t
public static const clang::DeclSpec::TST TST_image2d_t = clang::TST_image2d_t
public static const clang::DeclSpec::TST TST_image2d_array_t = clang::TST_image2d_array_t
public static const clang::DeclSpec::TST TST_image2d_depth_t = clang::TST_image2d_depth_t
public static const clang::DeclSpec::TST TST_image2d_array_depth_t = clang::TST_image2d_array_depth_t
public static const clang::DeclSpec::TST TST_image2d_msaa_t = clang::TST_image2d_msaa_t
public static const clang::DeclSpec::TST TST_image2d_array_msaa_t = clang::TST_image2d_array_msaa_t
public static const clang::DeclSpec::TST TST_image2d_msaa_depth_t = clang::TST_image2d_msaa_depth_t
public static const clang::DeclSpec::TST TST_image2d_array_msaa_depth_t = clang::TST_image2d_array_msaa_depth_t
public static const clang::DeclSpec::TST TST_image3d_t = clang::TST_image3d_t
public static const clang::DeclSpec::TST TST_error = clang::TST_error

Method Overview

Methods

void ClearConstexprSpec()

Declared at: clang/include/clang/Sema/DeclSpec.h:764

void ClearFunctionSpecs()

Declared at: clang/include/clang/Sema/DeclSpec.h:595

void ClearStorageClassSpecs()

Declared at: clang/include/clang/Sema/DeclSpec.h:454

void ClearTypeQualifiers()

Description

Clear out all of the type qualifiers.

Declared at: clang/include/clang/Sema/DeclSpec.h:557

void ClearTypeSpecType()

Declared at: clang/include/clang/Sema/DeclSpec.h:462

DeclSpec(const clang::DeclSpec&)

Declared at: clang/include/clang/Sema/DeclSpec.h:413

Parameters

const clang::DeclSpec&

DeclSpec(clang::AttributeFactory& attrFactory)

Declared at: clang/include/clang/Sema/DeclSpec.h:422

Parameters

clang::AttributeFactory& attrFactory

void Finish(clang::Sema& S,
            const clang::PrintingPolicy& Policy)

Description

Finish - This does final analysis of the declspec, issuing diagnostics for things like "_Imaginary" (lacking an FP type). After calling this method, DeclSpec is guaranteed self-consistent, even if an error occurred.

Declared at: clang/include/clang/Sema/DeclSpec.h:806

Parameters

clang::Sema& S
const clang::PrintingPolicy& Policy

void SaveWrittenBuiltinSpecs()

Declared at: clang/include/clang/Sema/DeclSpec.h:398

bool SetBitIntType(
    clang::SourceLocation KWLoc,
    clang::Expr* BitWidth,
    const char*& PrevSpec,
    unsigned int& DiagID,
    const clang::PrintingPolicy& Policy)

Declared at: clang/include/clang/Sema/DeclSpec.h:706

Parameters

clang::SourceLocation KWLoc
clang::Expr* BitWidth
const char*& PrevSpec
unsigned int& DiagID
const clang::PrintingPolicy& Policy

bool SetConstexprSpec(
    clang::ConstexprSpecKind ConstexprKind,
    clang::SourceLocation Loc,
    const char*& PrevSpec,
    unsigned int& DiagID)

Declared at: clang/include/clang/Sema/DeclSpec.h:746

Parameters

clang::ConstexprSpecKind ConstexprKind
clang::SourceLocation Loc
const char*& PrevSpec
unsigned int& DiagID

bool SetFriendSpec(clang::SourceLocation Loc,
                   const char*& PrevSpec,
                   unsigned int& DiagID)

Declared at: clang/include/clang/Sema/DeclSpec.h:742

Parameters

clang::SourceLocation Loc
const char*& PrevSpec
unsigned int& DiagID

void SetRangeEnd(clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/DeclSpec.h:640

Parameters

clang::SourceLocation Loc

void SetRangeStart(clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/DeclSpec.h:639

Parameters

clang::SourceLocation Loc

bool SetStorageClassSpec(
    clang::Sema& S,
    clang::DeclSpec::SCS SC,
    clang::SourceLocation Loc,
    const char*& PrevSpec,
    unsigned int& DiagID,
    const clang::PrintingPolicy& Policy)

Description

These methods set the specified attribute of the DeclSpec and return false if there was no error. If an error occurs (for example, if we tried to set "auto" on a spec with "extern" already set), they return true and set PrevSpec and DiagID such that Diag(Loc, DiagID) < < PrevSpec; will yield a useful result. TODO: use a more general approach that still allows these diagnostics to be ignored when desired.

Declared at: clang/include/clang/Sema/DeclSpec.h:652

Parameters

clang::Sema& S
clang::DeclSpec::SCS SC
clang::SourceLocation Loc
const char*& PrevSpec
unsigned int& DiagID
const clang::PrintingPolicy& Policy

bool SetStorageClassSpecThread(
    clang::DeclSpec::TSCS TSC,
    clang::SourceLocation Loc,
    const char*& PrevSpec,
    unsigned int& DiagID)

Declared at: clang/include/clang/Sema/DeclSpec.h:655

Parameters

clang::DeclSpec::TSCS TSC
clang::SourceLocation Loc
const char*& PrevSpec
unsigned int& DiagID

bool SetTypeAltiVecBool(
    bool isAltiVecBool,
    clang::SourceLocation Loc,
    const char*& PrevSpec,
    unsigned int& DiagID,
    const clang::PrintingPolicy& Policy)

Declared at: clang/include/clang/Sema/DeclSpec.h:700

Parameters

bool isAltiVecBool
clang::SourceLocation Loc
const char*& PrevSpec
unsigned int& DiagID
const clang::PrintingPolicy& Policy

bool SetTypeAltiVecPixel(
    bool isAltiVecPixel,
    clang::SourceLocation Loc,
    const char*& PrevSpec,
    unsigned int& DiagID,
    const clang::PrintingPolicy& Policy)

Declared at: clang/include/clang/Sema/DeclSpec.h:697

Parameters

bool isAltiVecPixel
clang::SourceLocation Loc
const char*& PrevSpec
unsigned int& DiagID
const clang::PrintingPolicy& Policy

bool SetTypeAltiVecVector(
    bool isAltiVecVector,
    clang::SourceLocation Loc,
    const char*& PrevSpec,
    unsigned int& DiagID,
    const clang::PrintingPolicy& Policy)

Declared at: clang/include/clang/Sema/DeclSpec.h:694

Parameters

bool isAltiVecVector
clang::SourceLocation Loc
const char*& PrevSpec
unsigned int& DiagID
const clang::PrintingPolicy& Policy

bool SetTypePipe(
    bool isPipe,
    clang::SourceLocation Loc,
    const char*& PrevSpec,
    unsigned int& DiagID,
    const clang::PrintingPolicy& Policy)

Declared at: clang/include/clang/Sema/DeclSpec.h:703

Parameters

bool isPipe
clang::SourceLocation Loc
const char*& PrevSpec
unsigned int& DiagID
const clang::PrintingPolicy& Policy

bool SetTypeQual(clang::DeclSpec::TQ T,
                 clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/DeclSpec.h:725

Parameters

clang::DeclSpec::TQ T
clang::SourceLocation Loc

bool SetTypeQual(clang::DeclSpec::TQ T,
                 clang::SourceLocation Loc,
                 const char*& PrevSpec,
                 unsigned int& DiagID,
                 const clang::LangOptions& Lang)

Declared at: clang/include/clang/Sema/DeclSpec.h:727

Parameters

clang::DeclSpec::TQ T
clang::SourceLocation Loc
const char*& PrevSpec
unsigned int& DiagID
const clang::LangOptions& Lang

bool SetTypeSpecComplex(clang::DeclSpec::TSC C,
                        clang::SourceLocation Loc,
                        const char*& PrevSpec,
                        unsigned int& DiagID)

Declared at: clang/include/clang/Sema/DeclSpec.h:660

Parameters

clang::DeclSpec::TSC C
clang::SourceLocation Loc
const char*& PrevSpec
unsigned int& DiagID

bool SetTypeSpecError()

Declared at: clang/include/clang/Sema/DeclSpec.h:711

bool SetTypeSpecSat(clang::SourceLocation Loc,
                    const char*& PrevSpec,
                    unsigned int& DiagID)

Declared at: clang/include/clang/Sema/DeclSpec.h:709

Parameters

clang::SourceLocation Loc
const char*& PrevSpec
unsigned int& DiagID

bool SetTypeSpecSign(clang::TypeSpecifierSign S,
                     clang::SourceLocation Loc,
                     const char*& PrevSpec,
                     unsigned int& DiagID)

Declared at: clang/include/clang/Sema/DeclSpec.h:662

Parameters

clang::TypeSpecifierSign S
clang::SourceLocation Loc
const char*& PrevSpec
unsigned int& DiagID

bool SetTypeSpecType(
    clang::DeclSpec::TST T,
    clang::SourceLocation Loc,
    const char*& PrevSpec,
    unsigned int& DiagID,
    const clang::PrintingPolicy& Policy)

Declared at: clang/include/clang/Sema/DeclSpec.h:664

Parameters

clang::DeclSpec::TST T
clang::SourceLocation Loc
const char*& PrevSpec
unsigned int& DiagID
const clang::PrintingPolicy& Policy

bool SetTypeSpecType(
    clang::DeclSpec::TST T,
    clang::SourceLocation Loc,
    const char*& PrevSpec,
    unsigned int& DiagID,
    clang::Expr* Rep,
    const clang::PrintingPolicy& policy)

Declared at: clang/include/clang/Sema/DeclSpec.h:691

Parameters

clang::DeclSpec::TST T
clang::SourceLocation Loc
const char*& PrevSpec
unsigned int& DiagID
clang::Expr* Rep
const clang::PrintingPolicy& policy

bool SetTypeSpecType(
    clang::DeclSpec::TST T,
    clang::SourceLocation Loc,
    const char*& PrevSpec,
    unsigned int& DiagID,
    clang::ParsedType Rep,
    const clang::PrintingPolicy& Policy)

Declared at: clang/include/clang/Sema/DeclSpec.h:666

Parameters

clang::DeclSpec::TST T
clang::SourceLocation Loc
const char*& PrevSpec
unsigned int& DiagID
clang::ParsedType Rep
const clang::PrintingPolicy& Policy

bool SetTypeSpecType(
    clang::DeclSpec::TST T,
    clang::SourceLocation Loc,
    const char*& PrevSpec,
    unsigned int& DiagID,
    clang::TypeResult Rep,
    const clang::PrintingPolicy& Policy)

Declared at: clang/include/clang/Sema/DeclSpec.h:669

Parameters

clang::DeclSpec::TST T
clang::SourceLocation Loc
const char*& PrevSpec
unsigned int& DiagID
clang::TypeResult Rep
const clang::PrintingPolicy& Policy

bool SetTypeSpecType(
    clang::DeclSpec::TST T,
    clang::SourceLocation Loc,
    const char*& PrevSpec,
    unsigned int& DiagID,
    clang::Decl* Rep,
    bool Owned,
    const clang::PrintingPolicy& Policy)

Declared at: clang/include/clang/Sema/DeclSpec.h:676

Parameters

clang::DeclSpec::TST T
clang::SourceLocation Loc
const char*& PrevSpec
unsigned int& DiagID
clang::Decl* Rep
bool Owned
const clang::PrintingPolicy& Policy

bool SetTypeSpecType(
    clang::DeclSpec::TST T,
    clang::SourceLocation TagKwLoc,
    clang::SourceLocation TagNameLoc,
    const char*& PrevSpec,
    unsigned int& DiagID,
    clang::Decl* Rep,
    bool Owned,
    const clang::PrintingPolicy& Policy)

Declared at: clang/include/clang/Sema/DeclSpec.h:683

Parameters

clang::DeclSpec::TST T
clang::SourceLocation TagKwLoc
clang::SourceLocation TagNameLoc
const char*& PrevSpec
unsigned int& DiagID
clang::Decl* Rep
bool Owned
const clang::PrintingPolicy& Policy

bool SetTypeSpecType(
    clang::DeclSpec::TST T,
    clang::SourceLocation Loc,
    const char*& PrevSpec,
    unsigned int& DiagID,
    clang::TemplateIdAnnotation* Rep,
    const clang::PrintingPolicy& Policy)

Declared at: clang/include/clang/Sema/DeclSpec.h:687

Parameters

clang::DeclSpec::TST T
clang::SourceLocation Loc
const char*& PrevSpec
unsigned int& DiagID
clang::TemplateIdAnnotation* Rep
const clang::PrintingPolicy& Policy

bool SetTypeSpecType(
    clang::DeclSpec::TST T,
    clang::SourceLocation TagKwLoc,
    clang::SourceLocation TagNameLoc,
    const char*& PrevSpec,
    unsigned int& DiagID,
    clang::ParsedType Rep,
    const clang::PrintingPolicy& Policy)

Declared at: clang/include/clang/Sema/DeclSpec.h:679

Parameters

clang::DeclSpec::TST T
clang::SourceLocation TagKwLoc
clang::SourceLocation TagNameLoc
const char*& PrevSpec
unsigned int& DiagID
clang::ParsedType Rep
const clang::PrintingPolicy& Policy

bool SetTypeSpecWidth(
    clang::TypeSpecifierWidth W,
    clang::SourceLocation Loc,
    const char*& PrevSpec,
    unsigned int& DiagID,
    const clang::PrintingPolicy& Policy)

Declared at: clang/include/clang/Sema/DeclSpec.h:657

Parameters

clang::TypeSpecifierWidth W
clang::SourceLocation Loc
const char*& PrevSpec
unsigned int& DiagID
const clang::PrintingPolicy& Policy

void UpdateDeclRep(clang::Decl* Rep)

Declared at: clang/include/clang/Sema/DeclSpec.h:712

Parameters

clang::Decl* Rep

void UpdateExprRep(clang::Expr* Rep)

Declared at: clang/include/clang/Sema/DeclSpec.h:720

Parameters

clang::Expr* Rep

void UpdateTypeRep(clang::ParsedType Rep)

Declared at: clang/include/clang/Sema/DeclSpec.h:716

Parameters

clang::ParsedType Rep

void addAttributes(
    const clang::ParsedAttributesView& AL)

Description

Concatenates two attribute lists. The GCC attribute syntax allows for the following: This declares 4 attributes using 2 lists. The following syntax is also allowed and equivalent to the previous declaration.

Declared at: clang/include/clang/Sema/DeclSpec.h:790

Parameters

const clang::ParsedAttributesView& AL

void forEachCVRUQualifier(
    llvm::function_ref<
        void(TQ, StringRef, SourceLocation)>
        Handle)

Description

This method calls the passed in handler on each CVRU qual being set. Handle - a handler to be invoked.

Declared at: clang/include/clang/Sema/DeclSpec.h:612

Parameters

llvm::function_ref< void(TQ, StringRef, SourceLocation)> Handle

void forEachQualifier(
    llvm::function_ref<
        void(TQ, StringRef, SourceLocation)>
        Handle)

Description

This method calls the passed in handler on each qual being set. Handle - a handler to be invoked.

Declared at: clang/include/clang/Sema/DeclSpec.h:618

Parameters

llvm::function_ref< void(TQ, StringRef, SourceLocation)> Handle

clang::SourceLocation getAltiVecLoc() const

Declared at: clang/include/clang/Sema/DeclSpec.h:515

clang::SourceLocation getAtomicSpecLoc() const

Declared at: clang/include/clang/Sema/DeclSpec.h:552

clang::AttributePool& getAttributePool() const

Declared at: clang/include/clang/Sema/DeclSpec.h:769

const clang::ParsedAttributes& getAttributes()
    const

Declared at: clang/include/clang/Sema/DeclSpec.h:797

clang::ParsedAttributes& getAttributes()

Declared at: clang/include/clang/Sema/DeclSpec.h:796

clang::SourceLocation getBeginLoc() const

Declared at: clang/include/clang/Sema/DeclSpec.h:507

clang::SourceLocation getConstSpecLoc() const

Declared at: clang/include/clang/Sema/DeclSpec.h:549

clang::SourceLocation getConstexprSpecLoc() const

Declared at: clang/include/clang/Sema/DeclSpec.h:759

clang::ConstexprSpecKind getConstexprSpecifier()
    const

Declared at: clang/include/clang/Sema/DeclSpec.h:755

clang::SourceLocation getEndLoc() const

Declared at: clang/include/clang/Sema/DeclSpec.h:508

clang::SourceLocation getExplicitSpecLoc() const

Declared at: clang/include/clang/Sema/DeclSpec.h:585

clang::SourceRange getExplicitSpecRange() const

Declared at: clang/include/clang/Sema/DeclSpec.h:586

clang::ExplicitSpecifier getExplicitSpecifier()
    const

Declared at: clang/include/clang/Sema/DeclSpec.h:575

clang::SourceLocation getFriendSpecLoc() const

Declared at: clang/include/clang/Sema/DeclSpec.h:750

clang::SourceLocation getInlineSpecLoc() const

Declared at: clang/include/clang/Sema/DeclSpec.h:571

clang::SourceLocation getModulePrivateSpecLoc()
    const

Declared at: clang/include/clang/Sema/DeclSpec.h:753

clang::SourceLocation getNoreturnSpecLoc() const

Declared at: clang/include/clang/Sema/DeclSpec.h:593

clang::ObjCDeclSpec* getObjCQualifiers() const

Declared at: clang/include/clang/Sema/DeclSpec.h:812

unsigned int getParsedSpecifiers() const

Description

Return a bitmask of which flavors of specifiers this DeclSpec includes.

Declared at: clang/include/clang/Sema/DeclSpec.h:631

clang::SourceLocation getPipeLoc() const

Declared at: clang/include/clang/Sema/DeclSpec.h:554

clang::Decl* getRepAsDecl() const

Declared at: clang/include/clang/Sema/DeclSpec.h:490

clang::Expr* getRepAsExpr() const

Declared at: clang/include/clang/Sema/DeclSpec.h:494

clang::TemplateIdAnnotation* getRepAsTemplateId()
    const

Declared at: clang/include/clang/Sema/DeclSpec.h:498

clang::ParsedType getRepAsType() const

Declared at: clang/include/clang/Sema/DeclSpec.h:486

clang::SourceLocation getRestrictSpecLoc() const

Declared at: clang/include/clang/Sema/DeclSpec.h:550

clang::SourceRange getSourceRange() const

Declared at: clang/include/clang/Sema/DeclSpec.h:506

static const char* getSpecifierName(
    DeclSpec::TQ Q)

Declared at: clang/include/clang/Sema/DeclSpec.h:537

Parameters

DeclSpec::TQ Q

static const char* getSpecifierName(
    DeclSpec::TST T,
    const clang::PrintingPolicy& Policy)

Description

Turn a type-specifier-type into a string like "_Bool" or "union".

Declared at: clang/include/clang/Sema/DeclSpec.h:535

Parameters

DeclSpec::TST T
const clang::PrintingPolicy& Policy

static const char* getSpecifierName(
    clang::TypeSpecifierSign S)

Declared at: clang/include/clang/Sema/DeclSpec.h:538

Parameters

clang::TypeSpecifierSign S

static const char* getSpecifierName(
    DeclSpec::TSC C)

Declared at: clang/include/clang/Sema/DeclSpec.h:539

Parameters

DeclSpec::TSC C

static const char* getSpecifierName(
    clang::ConstexprSpecKind C)

Declared at: clang/include/clang/Sema/DeclSpec.h:543

Parameters

clang::ConstexprSpecKind C

static const char* getSpecifierName(
    clang::TypeSpecifierWidth W)

Declared at: clang/include/clang/Sema/DeclSpec.h:540

Parameters

clang::TypeSpecifierWidth W

static const char* getSpecifierName(
    DeclSpec::SCS S)

Declared at: clang/include/clang/Sema/DeclSpec.h:541

Parameters

DeclSpec::SCS S

static const char* getSpecifierName(
    DeclSpec::TSCS S)

Declared at: clang/include/clang/Sema/DeclSpec.h:542

Parameters

DeclSpec::TSCS S

clang::DeclSpec::SCS getStorageClassSpec() const

Declared at: clang/include/clang/Sema/DeclSpec.h:440

clang::SourceLocation getStorageClassSpecLoc()
    const

Declared at: clang/include/clang/Sema/DeclSpec.h:449

clang::DeclSpec::TSCS getThreadStorageClassSpec()
    const

Declared at: clang/include/clang/Sema/DeclSpec.h:441

clang::SourceLocation
getThreadStorageClassSpecLoc() const

Declared at: clang/include/clang/Sema/DeclSpec.h:450

unsigned int getTypeQualifiers() const

Description

getTypeQualifiers - Return a set of TQs.

Declared at: clang/include/clang/Sema/DeclSpec.h:548

clang::DeclSpec::TSC getTypeSpecComplex() const

Declared at: clang/include/clang/Sema/DeclSpec.h:472

clang::SourceLocation getTypeSpecComplexLoc()
    const

Declared at: clang/include/clang/Sema/DeclSpec.h:512

clang::SourceLocation getTypeSpecSatLoc() const

Declared at: clang/include/clang/Sema/DeclSpec.h:516

const clang::CXXScopeSpec& getTypeSpecScope()
    const

Declared at: clang/include/clang/Sema/DeclSpec.h:504

clang::CXXScopeSpec& getTypeSpecScope()

Declared at: clang/include/clang/Sema/DeclSpec.h:503

clang::TypeSpecifierSign getTypeSpecSign() const

Declared at: clang/include/clang/Sema/DeclSpec.h:473

clang::SourceLocation getTypeSpecSignLoc() const

Declared at: clang/include/clang/Sema/DeclSpec.h:513

clang::DeclSpec::TST getTypeSpecType() const

Declared at: clang/include/clang/Sema/DeclSpec.h:476

clang::SourceLocation getTypeSpecTypeLoc() const

Declared at: clang/include/clang/Sema/DeclSpec.h:514

clang::SourceLocation getTypeSpecTypeNameLoc()
    const

Declared at: clang/include/clang/Sema/DeclSpec.h:518

clang::TypeSpecifierWidth getTypeSpecWidth() const

Declared at: clang/include/clang/Sema/DeclSpec.h:469

clang::SourceLocation getTypeSpecWidthLoc() const

Declared at: clang/include/clang/Sema/DeclSpec.h:510

clang::SourceRange getTypeSpecWidthRange() const

Declared at: clang/include/clang/Sema/DeclSpec.h:511

clang::SourceRange getTypeofParensRange() const

Declared at: clang/include/clang/Sema/DeclSpec.h:524

clang::SourceLocation getUnalignedSpecLoc() const

Declared at: clang/include/clang/Sema/DeclSpec.h:553

clang::SourceLocation getVirtualSpecLoc() const

Declared at: clang/include/clang/Sema/DeclSpec.h:580

clang::SourceLocation getVolatileSpecLoc() const

Declared at: clang/include/clang/Sema/DeclSpec.h:551

const clang::WrittenBuiltinSpecs&
getWrittenBuiltinSpecs() const

Declared at: clang/include/clang/Sema/DeclSpec.h:808

bool hasAttributes() const

Declared at: clang/include/clang/Sema/DeclSpec.h:794

bool hasAutoTypeSpec() const

Declared at: clang/include/clang/Sema/DeclSpec.h:527

bool hasConstexprSpecifier() const

Declared at: clang/include/clang/Sema/DeclSpec.h:760

bool hasExplicitSpecifier() const

Declared at: clang/include/clang/Sema/DeclSpec.h:582

bool hasTagDefinition() const

Declared at: clang/include/clang/Sema/DeclSpec.h:532

bool hasTypeSpecifier() const

Description

Return true if any type-specifier has been found.

Declared at: clang/include/clang/Sema/DeclSpec.h:622

bool isConstrainedAuto() const

Declared at: clang/include/clang/Sema/DeclSpec.h:484

static bool isDeclRep(clang::DeclSpec::TST T)

Declared at: clang/include/clang/Sema/DeclSpec.h:416

Parameters

clang::DeclSpec::TST T

bool isEmpty() const

Description

isEmpty - Return true if this declaration specifier is completely empty: no tokens were parsed in the production of it.

Declared at: clang/include/clang/Sema/DeclSpec.h:635

static bool isExprRep(clang::DeclSpec::TST T)

Declared at: clang/include/clang/Sema/DeclSpec.h:406

Parameters

clang::DeclSpec::TST T

bool isExternInLinkageSpec() const

Declared at: clang/include/clang/Sema/DeclSpec.h:444

bool isFriendSpecified() const

Declared at: clang/include/clang/Sema/DeclSpec.h:749

bool isInlineSpecified() const

Declared at: clang/include/clang/Sema/DeclSpec.h:568

bool isMissingDeclaratorOk()

Description

Checks if this DeclSpec can stand alone, without a Declarator. Only tag declspecs can stand alone.

Declared at: clang/include/clang/Sema/DeclSpec.h:818

bool isModulePrivateSpecified() const

Declared at: clang/include/clang/Sema/DeclSpec.h:752

bool isNoreturnSpecified() const

Declared at: clang/include/clang/Sema/DeclSpec.h:592

static bool isTemplateIdRep(
    clang::DeclSpec::TST T)

Declared at: clang/include/clang/Sema/DeclSpec.h:409

Parameters

clang::DeclSpec::TST T

bool isTypeAltiVecBool() const

Declared at: clang/include/clang/Sema/DeclSpec.h:479

bool isTypeAltiVecPixel() const

Declared at: clang/include/clang/Sema/DeclSpec.h:478

bool isTypeAltiVecVector() const

Declared at: clang/include/clang/Sema/DeclSpec.h:477

static bool isTypeRep(clang::DeclSpec::TST T)

Declared at: clang/include/clang/Sema/DeclSpec.h:402

Parameters

clang::DeclSpec::TST T

bool isTypeRep() const

Declared at: clang/include/clang/Sema/DeclSpec.h:481

bool isTypeSpecOwned() const

Declared at: clang/include/clang/Sema/DeclSpec.h:480

bool isTypeSpecPipe() const

Declared at: clang/include/clang/Sema/DeclSpec.h:482

bool isTypeSpecSat() const

Declared at: clang/include/clang/Sema/DeclSpec.h:483

bool isVirtualSpecified() const

Declared at: clang/include/clang/Sema/DeclSpec.h:579

void setExternInLinkageSpec(bool Value)

Declared at: clang/include/clang/Sema/DeclSpec.h:445

Parameters

bool Value

bool setFunctionSpecExplicit(
    clang::SourceLocation Loc,
    const char*& PrevSpec,
    unsigned int& DiagID,
    clang::ExplicitSpecifier ExplicitSpec,
    clang::SourceLocation CloseParenLoc)

Declared at: clang/include/clang/Sema/DeclSpec.h:736

Parameters

clang::SourceLocation Loc
const char*& PrevSpec
unsigned int& DiagID
clang::ExplicitSpecifier ExplicitSpec
clang::SourceLocation CloseParenLoc

bool setFunctionSpecForceInline(
    clang::SourceLocation Loc,
    const char*& PrevSpec,
    unsigned int& DiagID)

Declared at: clang/include/clang/Sema/DeclSpec.h:732

Parameters

clang::SourceLocation Loc
const char*& PrevSpec
unsigned int& DiagID

bool setFunctionSpecInline(
    clang::SourceLocation Loc,
    const char*& PrevSpec,
    unsigned int& DiagID)

Declared at: clang/include/clang/Sema/DeclSpec.h:730

Parameters

clang::SourceLocation Loc
const char*& PrevSpec
unsigned int& DiagID

bool setFunctionSpecNoreturn(
    clang::SourceLocation Loc,
    const char*& PrevSpec,
    unsigned int& DiagID)

Declared at: clang/include/clang/Sema/DeclSpec.h:739

Parameters

clang::SourceLocation Loc
const char*& PrevSpec
unsigned int& DiagID

bool setFunctionSpecVirtual(
    clang::SourceLocation Loc,
    const char*& PrevSpec,
    unsigned int& DiagID)

Declared at: clang/include/clang/Sema/DeclSpec.h:734

Parameters

clang::SourceLocation Loc
const char*& PrevSpec
unsigned int& DiagID

bool setModulePrivateSpec(
    clang::SourceLocation Loc,
    const char*& PrevSpec,
    unsigned int& DiagID)

Declared at: clang/include/clang/Sema/DeclSpec.h:744

Parameters

clang::SourceLocation Loc
const char*& PrevSpec
unsigned int& DiagID

void setObjCQualifiers(clang::ObjCDeclSpec* quals)

Declared at: clang/include/clang/Sema/DeclSpec.h:813

Parameters

clang::ObjCDeclSpec* quals

void setTypeofParensRange(
    clang::SourceRange range)

Declared at: clang/include/clang/Sema/DeclSpec.h:525

Parameters

clang::SourceRange range

void takeAttributesFrom(
    clang::ParsedAttributes& attrs)

Declared at: clang/include/clang/Sema/DeclSpec.h:799

Parameters

clang::ParsedAttributes& attrs