clang 24.0.0git
HLSLExternalSemaSource.cpp File Reference
#include "clang/Sema/HLSLExternalSemaSource.h"
#include "HLSLBuiltinTypeDeclBuilder.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/Attr.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/Expr.h"
#include "clang/AST/Type.h"
#include "clang/Basic/AddressSpaces.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Lex/Preprocessor.h"
#include "clang/Sema/Lookup.h"
#include "clang/Sema/Sema.h"
#include "clang/Sema/SemaHLSL.h"
#include "llvm/ADT/BitmaskEnum.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"

Go to the source code of this file.

Classes

class  BuiltinTypeDeclBuilder

Enumerations

enum class  HLSLBufferType { Typed , Structured , Constant }

Functions

static BuiltinTypeDeclBuilder setupBufferType (CXXRecordDecl *Decl, Sema &S, ResourceClass RC, bool IsROV, bool RawBuffer, bool HasCounter)
 Set up common members and attributes for buffer types.
static BuiltinTypeDeclBuilder setupSamplerType (CXXRecordDecl *Decl, Sema &S)
 Set up common members and attributes for sampler types.
static BuiltinTypeDeclBuilder setupTextureType (CXXRecordDecl *Decl, Sema &S, const TextureTypeInfo &T)
static ClassTemplatePartialSpecializationDecladdVectorTexturePartialSpecialization (Sema &S, NamespaceDecl *HLSLNamespace, ClassTemplateDecl *TextureTemplate)
static ExprconstructTypedBufferConstraintExpr (Sema &S, SourceLocation NameLoc, TemplateTypeParmDecl *T)
static ExprconstructConstantBufferConstraintExpr (Sema &S, SourceLocation NameLoc, TemplateTypeParmDecl *T)
static ExprconstructStructuredBufferConstraintExpr (Sema &S, SourceLocation NameLoc, TemplateTypeParmDecl *T)
static ConceptDeclconstructBufferConceptDecl (Sema &S, NamespaceDecl *NSD, HLSLBufferType BT)
static void buildAtomicOverload (Sema &S, NamespaceDecl *NS, StringRef FuncName, StringRef BuiltinName, QualType ElemTy, LangAS DestAS, bool ThreeArg)
static void defineHLSLInterlockedFunc (Sema &S, NamespaceDecl *NS, StringRef FuncName, StringRef BuiltinName)

Variables

static const TextureTypeInfo TextureTypes []

Enumeration Type Documentation

◆ HLSLBufferType

enum class HLSLBufferType
strong
Enumerator
Typed 
Structured 
Constant 

Definition at line 564 of file HLSLExternalSemaSource.cpp.

Function Documentation

◆ addVectorTexturePartialSpecialization()

◆ buildAtomicOverload()

◆ constructBufferConceptDecl()

◆ constructConstantBufferConstraintExpr()

Expr * constructConstantBufferConstraintExpr ( Sema & S,
SourceLocation NameLoc,
TemplateTypeParmDecl * T )
static

◆ constructStructuredBufferConstraintExpr()

◆ constructTypedBufferConstraintExpr()

Expr * constructTypedBufferConstraintExpr ( Sema & S,
SourceLocation NameLoc,
TemplateTypeParmDecl * T )
static

◆ defineHLSLInterlockedFunc()

◆ setupBufferType()

◆ setupSamplerType()

◆ setupTextureType()

BuiltinTypeDeclBuilder setupTextureType ( CXXRecordDecl * Decl,
Sema & S,
const TextureTypeInfo & T )
static

Variable Documentation

◆ TextureTypes

const TextureTypeInfo TextureTypes[]
static

Definition at line 304 of file HLSLExternalSemaSource.cpp.