">

clang: lib/Sema/HLSLExternalSemaSource.cpp File Reference (original) (raw)

#include "[clang/Sema/HLSLExternalSemaSource.h](HLSLExternalSemaSource%5F8h%5Fsource.html)"
#include "[clang/AST/ASTContext.h](ASTContext%5F8h%5Fsource.html)"
#include "[clang/AST/Attr.h](AST%5F2Attr%5F8h%5Fsource.html)"
#include "[clang/AST/Decl.h](Decl%5F8h%5Fsource.html)"
#include "[clang/AST/DeclCXX.h](DeclCXX%5F8h%5Fsource.html)"
#include "[clang/AST/Expr.h](Expr%5F8h%5Fsource.html)"
#include "[clang/AST/Type.h](Type%5F8h%5Fsource.html)"
#include "[clang/Basic/SourceLocation.h](SourceLocation%5F8h%5Fsource.html)"
#include "[clang/Sema/Lookup.h](Sema%5F2Lookup%5F8h%5Fsource.html)"
#include "[clang/Sema/Sema.h](Sema%5F8h%5Fsource.html)"
#include "[clang/Sema/SemaHLSL.h](SemaHLSL%5F8h%5Fsource.html)"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Frontend/HLSL/HLSLResource.h"
#include "llvm/Support/ErrorHandling.h"
#include <functional>

Go to the source code of this file.

Functions
static FunctionDecl * lookupBuiltinFunction (Sema &S, StringRef Name)
static BuiltinTypeDeclBuilder setupBufferType (CXXRecordDecl *Decl, Sema &S, ResourceClass RC, ResourceKind RK, bool IsROV, bool RawBuffer)
Set up common members and attributes for buffer types.
static Expr * constructTypedBufferConstraintExpr (Sema &S, SourceLocation NameLoc, TemplateTypeParmDecl *T)
static Expr * constructStructuredBufferConstraintExpr (Sema &S, SourceLocation NameLoc, TemplateTypeParmDecl *T)
static ConceptDecl * constructBufferConceptDecl (Sema &S, NamespaceDecl *NSD, bool isTypedBuffer)

constructBufferConceptDecl()

Definition at line 942 of file HLSLExternalSemaSource.cpp.

References clang::DeclContext::addDecl(), constructStructuredBufferConstraintExpr(), constructTypedBufferConstraintExpr(), clang::ConceptDecl::Create(), clang::TemplateTypeParmDecl::Create(), clang::TemplateParameterList::Create(), clang::IdentifierTable::get(), clang::Sema::getASTContext(), clang::Decl::getDeclContext(), clang::ASTContext::Idents, clang::TemplateDecl::setTemplateParameters(), and clang::T.

constructStructuredBufferConstraintExpr()

Definition at line 896 of file HLSLExternalSemaSource.cpp.

References clang::ASTContext::BoolTy, clang::IntegerLiteral::Create(), clang::UnaryOperator::Create(), clang::BinaryOperator::Create(), clang::TypeTraitExpr::Create(), clang::Sema::getASTContext(), clang::ASTContext::getSizeType(), clang::ASTContext::getTrivialTypeSourceInfo(), clang::ASTContext::getTypeDeclType(), clang::ASTContext::getTypeSize(), clang::OK_Ordinary, clang::T, and clang::VK_LValue.

Referenced by constructBufferConceptDecl().

constructTypedBufferConstraintExpr()

lookupBuiltinFunction()

setupBufferType()

static BuiltinTypeDeclBuilder setupBufferType ( CXXRecordDecl * Decl, Sema & S, ResourceClass RC, ResourceKind RK, bool IsROV, bool RawBuffer ) static