clang 19.0.0git
Classes | Namespaces | Enumerations | Functions
Decl.h File Reference
#include "clang/AST/APNumericStorage.h"
#include "clang/AST/APValue.h"
#include "clang/AST/ASTContextAllocate.h"
#include "clang/AST/DeclAccessPair.h"
#include "clang/AST/DeclBase.h"
#include "clang/AST/DeclarationName.h"
#include "clang/AST/ExternalASTSource.h"
#include "clang/AST/NestedNameSpecifier.h"
#include "clang/AST/Redeclarable.h"
#include "clang/AST/Type.h"
#include "clang/Basic/AddressSpaces.h"
#include "clang/Basic/Diagnostic.h"
#include "clang/Basic/IdentifierTable.h"
#include "clang/Basic/LLVM.h"
#include "clang/Basic/Linkage.h"
#include "clang/Basic/OperatorKinds.h"
#include "clang/Basic/PartialDiagnostic.h"
#include "clang/Basic/PragmaKinds.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Basic/Specifiers.h"
#include "clang/Basic/Visibility.h"
#include "llvm/ADT/APSInt.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/PointerIntPair.h"
#include "llvm/ADT/PointerUnion.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/TrailingObjects.h"
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <optional>
#include <string>
#include <utility>

Go to the source code of this file.

Classes

class  clang::TranslationUnitDecl
 The top declaration context. More...
 
class  clang::PragmaCommentDecl
 Represents a #pragma comment line. More...
 
class  clang::PragmaDetectMismatchDecl
 Represents a #pragma detect_mismatch line. More...
 
class  clang::ExternCContextDecl
 Declaration context for names declared as extern "C" in C++. More...
 
class  clang::NamedDecl
 This represents a decl that may have a name. More...
 
class  clang::LabelDecl
 Represents the declaration of a label. More...
 
class  clang::NamespaceDecl
 Represent a C++ namespace. More...
 
class  clang::ValueDecl
 Represent the declaration of a variable (in which case it is an lvalue) a function (in which case it is a function designator) or an enum constant. More...
 
struct  clang::QualifierInfo
 A struct with extended info about a syntactic name qualifier, to be used for the case of out-of-line declarations. More...
 
class  clang::DeclaratorDecl
 Represents a ValueDecl that came out of a declarator. More...
 
struct  clang::EvaluatedStmt
 Structure used to store a statement, the constant value to which it was evaluated (if any), and whether or not the statement is an integral constant expression (if known). More...
 
class  clang::VarDecl
 Represents a variable declaration or definition. More...
 
class  clang::VarDecl::ParmVarDeclBitfields
 
class  clang::VarDecl::NonParmVarDeclBitfields
 
class  clang::ImplicitParamDecl
 
class  clang::ParmVarDecl
 Represents a parameter to a function. More...
 
class  clang::FunctionDecl
 Represents a function declaration or definition. More...
 
class  clang::FunctionDecl::DefaultedFunctionInfo
 Stashed information about a defaulted function definition whose body has not yet been lazily generated. More...
 
class  clang::FieldDecl
 Represents a member of a struct/union/class. More...
 
class  clang::EnumConstantDecl
 An instance of this object exists for each enum constant that is defined. More...
 
class  clang::IndirectFieldDecl
 Represents a field injected from an anonymous union/struct into the parent scope. More...
 
class  clang::TypeDecl
 Represents a declaration of a type. More...
 
class  clang::TypedefNameDecl
 Base class for declarations which introduce a typedef-name. More...
 
class  clang::TypedefDecl
 Represents the declaration of a typedef-name via the 'typedef' type specifier. More...
 
class  clang::TypeAliasDecl
 Represents the declaration of a typedef-name via a C++11 alias-declaration. More...
 
class  clang::TagDecl
 Represents the declaration of a struct/union/class/enum. More...
 
class  clang::EnumDecl
 Represents an enum. More...
 
class  clang::RecordDecl
 Represents a struct/union/class. More...
 
class  clang::FileScopeAsmDecl
 
class  clang::TopLevelStmtDecl
 A declaration that models statements at global scope. More...
 
class  clang::BlockDecl
 Represents a block literal declaration, which is like an unnamed FunctionDecl. More...
 
class  clang::BlockDecl::Capture
 A class which contains all the information about a particular captured value. More...
 
class  clang::CapturedDecl
 Represents the body of a CapturedStmt, and serves as its DeclContext. More...
 
class  clang::ImportDecl
 Describes a module import declaration, which makes the contents of the named module visible in the current translation unit. More...
 
class  clang::ExportDecl
 Represents a standard C++ module export declaration. More...
 
class  clang::EmptyDecl
 Represents an empty-declaration. More...
 
class  clang::HLSLBufferDecl
 HLSLBufferDecl - Represent a cbuffer or tbuffer declaration. More...
 

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
 

Enumerations

enum class  clang::ImplicitParamKind {
  clang::ObjCSelf , clang::ObjCCmd , clang::CXXThis , clang::CXXVTT ,
  clang::CapturedContext , clang::ThreadPrivateVar , clang::Other
}
 Defines the kind of the implicit parameter: is this an implicit parameter with pointer to 'this', 'self', '_cmd', virtual table pointers, captured context or something else. More...
 
enum class  clang::MultiVersionKind {
  clang::None , clang::Target , clang::CPUSpecific , clang::CPUDispatch ,
  clang::TargetClones , clang::TargetVersion
}
 
enum class  clang::RecordArgPassingKind { clang::CanPassInRegs , clang::CannotPassInRegs , clang::CanNeverPassInRegs }
 Enum that represents the different ways arguments are passed to and returned from function calls. More...
 

Functions

raw_ostream & clang::operator<< (raw_ostream &OS, const NamedDecl &ND)
 
const StreamingDiagnostic & clang::operator<< (const StreamingDiagnostic &PD, const NamedDecl *ND)
 Insertion operator for diagnostics.
 
bool clang::IsEnumDeclComplete (EnumDecl *ED)
 Check if the given decl is complete.
 
bool clang::IsEnumDeclScoped (EnumDecl *ED)
 Check if the given decl is scoped.
 
static constexpr StringRef clang::getOpenMPVariantManglingSeparatorStr ()
 OpenMP variants are mangled early based on their OpenMP context selector.