clang 23.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 "clang/Sema/TemplateDeduction.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, ResourceClass RC, bool IsROV, ResourceDimension Dim)
 Set up common members and attributes for texture types.
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 defineHLSLInterlockedAdd (Sema &S, NamespaceDecl *NS)

Enumeration Type Documentation

◆ HLSLBufferType

enum class HLSLBufferType
strong
Enumerator
Typed 
Structured 
Constant 

Definition at line 447 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

◆ defineHLSLInterlockedAdd()

◆ setupBufferType()

◆ setupSamplerType()

◆ setupTextureType()