clang 22.0.0git
|
#include "clang/Sema/SemaHLSL.h"
Additional Inherited Members | |
Public Attributes inherited from clang::SemaBase | |
Sema & | SemaRef |
Definition at line 107 of file SemaHLSL.h.
SemaHLSL::SemaHLSL | ( | Sema & | S | ) |
Definition at line 195 of file SemaHLSL.cpp.
References clang::SemaBase::SemaBase().
void SemaHLSL::ActOnEndOfTranslationUnit | ( | TranslationUnitDecl * | TU | ) |
Definition at line 2569 of file SemaHLSL.cpp.
References addImplicitBindingAttrToDecl(), clang::HLSLBufferDecl::CreateDefaultCBuffer(), createHostLayoutStructForBuffer(), clang::Decl::getAttr(), clang::SemaBase::SemaRef, and clang::HLSLBufferDecl::setHasValidPackoffset().
Referenced by clang::Sema::ActOnEndOfTranslationUnit().
void SemaHLSL::ActOnFinishBuffer | ( | Decl * | Dcl, |
SourceLocation | RBrace ) |
Definition at line 593 of file SemaHLSL.cpp.
References addImplicitBindingAttrToDecl(), clang::cast(), createHostLayoutStructForBuffer(), clang::Decl::getAttr(), clang::Decl::getLocation(), clang::SemaBase::SemaRef, and validatePackoffset().
void SemaHLSL::ActOnFinishRootSignatureDecl | ( | SourceLocation | Loc, |
IdentifierInfo * | DeclIdent, | ||
ArrayRef< hlsl::RootSignatureElement > | Elements ) |
Creates the Root Signature decl of the parsed Root Signature elements onto the AST and push it onto current Scope.
Definition at line 1107 of file SemaHLSL.cpp.
References clang::HLSLRootSignatureDecl::Create(), handleRootSignatureElements(), and clang::SemaBase::SemaRef.
Referenced by clang::hlsl::ParseHLSLRootSignature().
ExprResult SemaHLSL::ActOnOutParamExpr | ( | ParmVarDecl * | Param, |
Expr * | Arg ) |
Definition at line 3624 of file SemaHLSL.cpp.
References clang::HLSLOutArgExpr::Create(), clang::ExprError(), clang::ActionResult< PtrTy, Compress >::get(), clang::Stmt::getBeginLoc(), clang::QualType::getNonLValueExprType(), clang::Expr::getType(), clang::HLSLInOut, clang::InitializedEntity::InitializeParameter(), clang::ActionResult< PtrTy, Compress >::isInvalid(), clang::Expr::isLValue(), clang::Type::isScalarType(), clang::OK_Ordinary, clang::Ordinary, clang::SemaBase::SemaRef, and clang::VK_LValue.
Referenced by clang::Sema::GatherArgumentsForCall().
Decl * SemaHLSL::ActOnStartBuffer | ( | Scope * | BufferScope, |
bool | CBuffer, | ||
SourceLocation | KwLoc, | ||
IdentifierInfo * | Ident, | ||
SourceLocation | IdentLoc, | ||
SourceLocation | LBrace ) |
Definition at line 197 of file SemaHLSL.cpp.
References clang::HLSLBufferDecl::Create(), clang::SemaBase::getASTContext(), clang::Result, and clang::SemaBase::SemaRef.
std::pair< IdentifierInfo *, bool > SemaHLSL::ActOnStartRootSignatureDecl | ( | StringRef | Signature | ) |
Computes the unique Root Signature identifier from the given signature, then lookup if there is a previousy created Root Signature decl.
Returns the identifier and if it was found
Definition at line 1095 of file SemaHLSL.cpp.
References clang::Found, clang::IdentifierTable::get(), clang::SemaBase::getASTContext(), llvm::hash_value(), clang::ASTContext::Idents, clang::Sema::LookupOrdinaryName, and clang::SemaBase::SemaRef.
Referenced by clang::hlsl::ParseHLSLRootSignature().
void SemaHLSL::ActOnTopLevelFunction | ( | FunctionDecl * | FD | ) |
Definition at line 724 of file SemaHLSL.cpp.
References clang::Decl::addAttr(), clang::SemaBase::Diag(), clang::Decl::dropAttr(), clang::SemaBase::getASTContext(), clang::Decl::getAttr(), clang::DeclaratorDecl::getBeginLoc(), clang::Decl::getDeclContext(), clang::NamedDecl::getName(), clang::ASTContext::getTargetInfo(), clang::TargetInfo::getTargetOpts(), clang::TargetInfo::getTriple(), clang::TargetOptions::HLSLEntry, lookupRootSignatureOverrideDecl(), and clang::Decl::setInvalidDecl().
Referenced by clang::Sema::ActOnFunctionDeclarator().
void SemaHLSL::ActOnVariableDeclarator | ( | VarDecl * | VD | ) |
Definition at line 3736 of file SemaHLSL.cpp.
References addImplicitBindingAttrToDecl(), deduceAddressSpace(), clang::ASTContext::getAddrSpaceQualType(), clang::SemaBase::getASTContext(), clang::Decl::getAttr(), clang::Decl::getLocation(), getRegisterType(), getResourceArrayHandleType(), clang::ValueDecl::getType(), clang::Decl::hasAttr(), clang::VarDecl::hasGlobalStorage(), clang::hlsl_constant, IsDefaultBufferConstantDecl(), clang::Type::isHLSLIntangibleType(), clang::Type::isHLSLResourceRecordArray(), isResourceRecordTypeOrArrayOf(), clang::SC_Static, clang::SemaBase::SemaRef, clang::Decl::setInvalidDecl(), clang::VarDecl::setStorageClass(), and clang::ValueDecl::setType().
Referenced by clang::Sema::ActOnVariableDeclarator().
Definition at line 3545 of file SemaHLSL.cpp.
References BuildFlattenedTypeList(), CanPerformScalarCast(), ContainsBitField(), clang::Type::getAs(), clang::VectorType::getElementType(), clang::VectorType::getNumElements(), clang::Expr::getType(), clang::Type::isScalarType(), and clang::Type::isVectorType().
Definition at line 3580 of file SemaHLSL.cpp.
References BuildFlattenedTypeList(), CanPerformScalarCast(), ContainsBitField(), clang::Expr::getType(), clang::Type::isScalarType(), and clang::Type::isVectorType().
Definition at line 3443 of file SemaHLSL.cpp.
References clang::Type::getScalarTypeKind(), clang::Type::isScalarType(), clang::SemaBase::SemaRef, clang::Type::STK_BlockPointer, clang::Type::STK_Bool, clang::Type::STK_CPointer, clang::Type::STK_FixedPoint, clang::Type::STK_Floating, clang::Type::STK_FloatingComplex, clang::Type::STK_Integral, clang::Type::STK_IntegralComplex, clang::Type::STK_MemberPointer, and clang::Type::STK_ObjCObjectPointer.
Referenced by CanPerformAggregateSplatCast(), and CanPerformElementwiseCast().
Definition at line 2871 of file SemaHLSL.cpp.
References std::abs(), clang::Type::castAs(), clang::ASTContext::CharTy, clang::CheckAllArgsHaveSameType(), clang::CheckAllArgTypesAreCorrect(), CheckAnyScalarOrVector(), CheckArgTypeMatches(), CheckBoolSelect(), CheckFloatingOrIntRepresentation(), clang::CheckFloatOrHalfRepresentation(), CheckModifiableLValue(), CheckNoDoubleVectors(), CheckResourceHandle(), CheckScalarOrVector(), CheckUnsignedIntRepresentation(), CheckUnsignedIntVecRepresentation(), CheckVectorSelect(), CheckWaveActive(), clang::SemaBase::Diag(), clang::ActionResult< PtrTy, Compress >::get(), clang::CallExpr::getArg(), clang::Type::getAs(), clang::SemaBase::getASTContext(), clang::CallExpr::getBeginLoc(), clang::Stmt::getBeginLoc(), clang::Expr::getIntegerConstantExpr(), clang::ASTContext::getPointerType(), clang::CharUnits::getQuantity(), clang::Expr::getType(), clang::ASTContext::getTypeSizeInChars(), clang::Type::hasFloatingRepresentation(), clang::hlsl_device, clang::ASTContext::IntTy, clang::Type::isBooleanType(), clang::Type::isIntegerType(), clang::Sema::None, clang::SemaBase::SemaRef, SetElementTypeAsReturnType(), clang::Expr::setType(), clang::Expr::setValueKind(), clang::ASTContext::UnsignedIntTy, clang::VK_LValue, and clang::CanQual< T >::withConst().
bool SemaHLSL::CheckCompatibleParameterABI | ( | FunctionDecl * | New, |
FunctionDecl * | Old ) |
Definition at line 3409 of file SemaHLSL.cpp.
References clang::Decl::getAttr(), clang::Decl::getLocation(), clang::FunctionDecl::getNumParams(), clang::FunctionDecl::getParamDecl(), New, and clang::SemaBase::SemaRef.
void SemaHLSL::CheckEntryPoint | ( | FunctionDecl * | FD | ) |
Definition at line 792 of file SemaHLSL.cpp.
References clang::SemaBase::Diag(), DiagnoseAttrStageMismatch(), clang::SemaBase::getASTContext(), clang::Decl::getAttr(), clang::Decl::getLocation(), clang::ASTContext::getTargetInfo(), clang::TargetInfo::getTriple(), clang::Decl::hasAttr(), isSemanticValid(), clang::FunctionDecl::parameters(), and clang::Decl::setInvalidDecl().
Referenced by clang::Sema::ActOnFunctionDeclarator().
bool SemaHLSL::CheckResourceBinOp | ( | BinaryOperatorKind | Opc, |
Expr * | LHSExpr, | ||
Expr * | RHSExpr, | ||
SourceLocation | Loc ) |
Definition at line 3960 of file SemaHLSL.cpp.
References clang::DeclRefExpr::getDecl(), clang::Decl::getLocation(), clang::Expr::getType(), clang::VarDecl::hasGlobalStorage(), clang::Expr::IgnoreParenImpCasts(), clang::Expr::IgnoreParens(), clang::Type::isHLSLResourceRecord(), clang::Type::isHLSLResourceRecordArray(), and clang::SemaBase::SemaRef.
void SemaHLSL::CheckSemanticAnnotation | ( | FunctionDecl * | EntryPoint, |
const Decl * | Param, | ||
const HLSLAnnotationAttr * | AnnotationAttr ) |
Definition at line 864 of file SemaHLSL.cpp.
References DiagnoseAttrStageMismatch(), clang::Decl::getAttr(), and clang::Attr::getKind().
Referenced by isSemanticValid().
Definition at line 3510 of file SemaHLSL.cpp.
References clang::RecordDecl::fields(), clang::CXXRecordDecl::getStandardLayoutBaseWithFields(), clang::ValueDecl::getType(), clang::CXXRecordDecl::isStandardLayout(), clang::TagDecl::isUnion(), and clang::T.
Referenced by CanPerformAggregateSplatCast(), and CanPerformElementwiseCast().
|
inline |
Definition at line 182 of file SemaHLSL.h.
References clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), clang::AttributeCommonInfo::getAttrName(), clang::Attr::getLocation(), clang::IdentifierInfo::getName(), and clang::T.
Referenced by diagnoseSystemSemanticAttr().
void SemaHLSL::deduceAddressSpace | ( | VarDecl * | Decl | ) |
Definition at line 3702 of file SemaHLSL.cpp.
References clang::Decl::hasAttr(), clang::hlsl_input, clang::hlsl_private, clang::Type::isHLSLResourceRecord(), clang::Type::isHLSLResourceRecordArray(), clang::Type::isSamplerT(), clang::Type::isVoidType(), clang::SC_Static, and clang::SemaBase::SemaRef.
Referenced by ActOnVariableDeclarator(), and clang::Sema::DeduceVariableDeclarationType().
void SemaHLSL::DiagnoseAttrStageMismatch | ( | const Attr * | A, |
llvm::Triple::EnvironmentType | Stage, | ||
std::initializer_list< llvm::Triple::EnvironmentType > | AllowedStages ) |
Definition at line 892 of file SemaHLSL.cpp.
References clang::SemaBase::Diag(), clang::AttributeCommonInfo::getAttrName(), and clang::AttributeCommonInfo::getLoc().
Referenced by CheckEntryPoint(), and CheckSemanticAnnotation().
bool SemaHLSL::diagnoseInputIDType | ( | QualType | T, |
const ParsedAttr & | AL ) |
Definition at line 1610 of file SemaHLSL.cpp.
References clang::SemaBase::Diag(), clang::AttributeCommonInfo::getLoc(), and clang::T.
Referenced by diagnoseSystemSemanticAttr().
bool SemaHLSL::diagnosePositionType | ( | QualType | T, |
const ParsedAttr & | AL ) |
Definition at line 1623 of file SemaHLSL.cpp.
References clang::SemaBase::Diag(), clang::AttributeCommonInfo::getLoc(), and clang::T.
void SemaHLSL::diagnoseSystemSemanticAttr | ( | Decl * | D, |
const ParsedAttr & | AL, | ||
std::optional< unsigned > | Index ) |
Definition at line 1634 of file SemaHLSL.cpp.
References clang::Decl::addAttr(), clang::cast(), createSemanticAttr(), clang::SemaBase::Diag(), diagnoseInputIDType(), clang::Decl::getAttr(), clang::AttributeCommonInfo::getAttrName(), clang::AttributeCommonInfo::getLoc(), and clang::IdentifierInfo::getName().
Referenced by handleSemanticAttr().
void SemaHLSL::emitLogicalOperatorFixIt | ( | Expr * | LHS, |
Expr * | RHS, | ||
BinaryOperatorKind | Opc ) |
Definition at line 1076 of file SemaHLSL.cpp.
References clang::FixItHint::CreateReplacement(), clang::Stmt::getBeginLoc(), clang::Stmt::getEndLoc(), clang::Stmt::printPretty(), and clang::SemaBase::SemaRef.
Referenced by clang::Sema::CheckVectorLogicalOperands().
Definition at line 3682 of file SemaHLSL.cpp.
References clang::QualType::addRestrict(), clang::Type::isReferenceType(), and clang::SemaBase::SemaRef.
Referenced by GetFullTypeForDeclarator(), and instantiateDependentHLSLParamModifierAttr().
Definition at line 4316 of file SemaHLSL.cpp.
References clang::C, clang::IntegerLiteral::Create(), clang::SemaBase::Diag(), clang::Decl::getAttr(), clang::Type::getCanonicalTypeUnqualified(), clang::Decl::getLocation(), getSpecConstBuiltinId(), clang::ValueDecl::getType(), clang::Type::getUnqualifiedDesugaredType(), clang::Init, clang::SemaBase::SemaRef, and clang::Decl::setInvalidDecl().
void SemaHLSL::handleNumThreadsAttr | ( | Decl * | D, |
const ParsedAttr & | AL ) |
Definition at line 1454 of file SemaHLSL.cpp.
References clang::Decl::addAttr(), clang::SemaBase::Diag(), clang::ParsedAttr::getArgAsExpr(), clang::SemaBase::getASTContext(), clang::Expr::getExprLoc(), clang::AttributeCommonInfo::getLoc(), clang::ASTContext::getTargetInfo(), clang::TargetInfo::getTriple(), mergeNumThreadsAttr(), clang::SemaBase::SemaRef, and X.
Referenced by ProcessDeclAttribute().
void SemaHLSL::handlePackOffsetAttr | ( | Decl * | D, |
const ParsedAttr & | AL ) |
Definition at line 1700 of file SemaHLSL.cpp.
References clang::Decl::addAttr(), clang::cast(), clang::SemaBase::Diag(), clang::ParsedAttr::getArgAsExpr(), clang::SemaBase::getASTContext(), clang::Decl::getDeclContext(), clang::AttributeCommonInfo::getLoc(), clang::ASTContext::getTypeAlign(), clang::ASTContext::getTypeSize(), clang::isa(), clang::SemaBase::SemaRef, and clang::T.
Referenced by ProcessDeclAttribute().
void SemaHLSL::handleParamModifierAttr | ( | Decl * | D, |
const ParsedAttr & | AL ) |
Definition at line 2219 of file SemaHLSL.cpp.
References clang::Decl::addAttr(), clang::ParsedAttr::getSemanticSpelling(), and mergeParamModifierAttr().
Referenced by ProcessDeclAttribute().
void SemaHLSL::handleResourceBindingAttr | ( | Decl * | D, |
const ParsedAttr & | AL ) |
Definition at line 2127 of file SemaHLSL.cpp.
References clang::AANT_ArgumentIdentifier, clang::Decl::addAttr(), convertToRegisterType(), clang::SemaBase::Diag(), DiagnoseHLSLRegisterAttribute(), clang::ParsedAttr::getArgAsIdent(), clang::SemaBase::getASTContext(), clang::Decl::getBeginLoc(), clang::IdentifierLoc::getIdentifierInfo(), clang::AttributeCommonInfo::getLoc(), clang::IdentifierLoc::getLoc(), clang::IdentifierInfo::getName(), clang::ParsedAttr::getNumArgs(), clang::ValueDecl::getType(), clang::ParsedAttr::isArgIdent(), clang::SourceLocation::isInvalid(), and clang::SemaBase::SemaRef.
Referenced by ProcessDeclAttribute().
bool SemaHLSL::handleResourceTypeAttr | ( | QualType | T, |
const ParsedAttr & | AL ) |
Definition at line 1853 of file SemaHLSL.cpp.
References clang::AANT_ArgumentIdentifier, clang::ParsedAttr::checkExactlyNumArgs(), clang::SemaBase::Diag(), clang::ParsedAttr::getArgAsIdent(), clang::SemaBase::getASTContext(), clang::TypeLoc::getBeginLoc(), clang::IdentifierLoc::getIdentifierInfo(), clang::ParsedAttr::getKind(), clang::AttributeCommonInfo::getLoc(), clang::IdentifierLoc::getLoc(), clang::ParsedAttr::getMinArgs(), clang::IdentifierInfo::getName(), clang::ParsedAttr::getNumArgs(), clang::AttributeCommonInfo::getScopeLoc(), clang::AttributeCommonInfo::getScopeName(), clang::ParsedAttr::getTypeArg(), clang::TypeSourceInfo::getTypeLoc(), clang::ParsedAttr::hasParsedType(), clang::ParsedAttr::isArgIdent(), clang::AttributeCommonInfo::NoSemaHandlerAttribute, clang::SemaBase::SemaRef, and clang::T.
void SemaHLSL::handleRootSignatureAttr | ( | Decl * | D, |
const ParsedAttr & | AL ) |
Definition at line 1428 of file SemaHLSL.cpp.
References clang::Decl::addAttr(), clang::SemaBase::Diag(), clang::ParsedAttr::getArgAsIdent(), clang::SemaBase::getASTContext(), clang::Decl::getAttr(), clang::Decl::getDeclContext(), clang::LookupResult::getFoundDecl(), clang::IdentifierLoc::getIdentifierInfo(), clang::AttributeCommonInfo::getLoc(), clang::ParsedAttr::getNumArgs(), clang::Sema::LookupOrdinaryName, and clang::SemaBase::SemaRef.
Referenced by ProcessDeclAttribute().
bool SemaHLSL::handleRootSignatureElements | ( | ArrayRef< hlsl::RootSignatureElement > | Elements | ) |
Definition at line 1242 of file SemaHLSL.cpp.
References clang::SemaBase::Diag(), clang::hlsl::RootSignatureElement::getElement(), std::isnan(), and clang::SemaBase::SemaRef.
Referenced by ActOnFinishRootSignatureDecl().
void SemaHLSL::handleSemanticAttr | ( | Decl * | D, |
const ParsedAttr & | AL ) |
Definition at line 1686 of file SemaHLSL.cpp.
References clang::SemaBase::Diag(), diagnoseSystemSemanticAttr(), clang::ParsedAttr::getArgAsExpr(), clang::AttributeCommonInfo::getAttrName(), clang::AttributeCommonInfo::getLoc(), clang::IdentifierInfo::getName(), and clang::SemaBase::SemaRef.
Referenced by ProcessDeclAttribute().
void SemaHLSL::handleShaderAttr | ( | Decl * | D, |
const ParsedAttr & | AL ) |
Definition at line 1749 of file SemaHLSL.cpp.
References clang::Decl::addAttr(), clang::SemaBase::Diag(), clang::AttributeCommonInfo::getLoc(), mergeShaderAttr(), and clang::SemaBase::SemaRef.
Referenced by ProcessDeclAttribute().
QualType SemaHLSL::handleVectorBinOpConversion | ( | ExprResult & | LHS, |
ExprResult & | RHS, | ||
QualType | LHSType, | ||
QualType | RHSType, | ||
bool | IsCompAssign ) |
Definition at line 1009 of file SemaHLSL.cpp.
References clang::Type::castAs(), castVector(), clang::SemaBase::Diag(), clang::ActionResult< PtrTy, Compress >::get(), clang::Type::getAs(), clang::SemaBase::getASTContext(), clang::Stmt::getBeginLoc(), clang::VectorType::getNumElements(), getScalarCastKind(), clang::Expr::getType(), handleFloatVectorBinOpConversion(), handleIntegerVectorBinOpConversion(), clang::Type::isIntegralType(), clang::Type::isRealFloatingType(), and clang::SemaBase::SemaRef.
Referenced by clang::Sema::CheckVectorOperands().
void SemaHLSL::handleVkBindingAttr | ( | Decl * | D, |
const ParsedAttr & | AL ) |
Definition at line 1593 of file SemaHLSL.cpp.
References clang::Decl::addAttr(), clang::ParsedAttr::getArgAsExpr(), clang::SemaBase::getASTContext(), clang::ParsedAttr::getNumArgs(), clang::SemaBase::SemaRef, and clang::Set.
Referenced by ProcessDeclAttribute().
void SemaHLSL::handleVkConstantIdAttr | ( | Decl * | D, |
const ParsedAttr & | AL ) |
Definition at line 1584 of file SemaHLSL.cpp.
References clang::Decl::addAttr(), clang::ParsedAttr::getArgAsExpr(), mergeVkConstantIdAttr(), and clang::SemaBase::SemaRef.
Referenced by ProcessDeclAttribute().
void SemaHLSL::handleVkExtBuiltinInputAttr | ( | Decl * | D, |
const ParsedAttr & | AL ) |
Definition at line 1576 of file SemaHLSL.cpp.
References clang::Decl::addAttr(), clang::ParsedAttr::getArgAsExpr(), clang::SemaBase::getASTContext(), and clang::SemaBase::SemaRef.
Referenced by ProcessDeclAttribute().
void SemaHLSL::handleWaveSizeAttr | ( | Decl * | D, |
const ParsedAttr & | AL ) |
Definition at line 1512 of file SemaHLSL.cpp.
References clang::Decl::addAttr(), clang::SemaBase::Diag(), clang::ParsedAttr::getArgAsExpr(), clang::Expr::getExprLoc(), clang::AttributeCommonInfo::getLoc(), clang::ParsedAttr::getNumArgs(), isValidWaveSizeValue(), clang::Max, mergeWaveSizeAttr(), clang::Min, and clang::SemaBase::SemaRef.
Referenced by ProcessDeclAttribute().
Definition at line 3386 of file SemaHLSL.cpp.
References BuildFlattenedTypeList(), clang::QualType::getCanonicalType(), clang::QualType::getUnqualifiedType(), clang::QualType::isNull(), and clang::SemaBase::SemaRef.
bool SemaHLSL::isSemanticValid | ( | FunctionDecl * | FD, |
DeclaratorDecl * | D ) |
Definition at line 772 of file SemaHLSL.cpp.
References CheckSemanticAnnotation(), clang::RecordDecl::fields(), clang::Decl::getAttr(), clang::ValueDecl::getType(), clang::Type::getUnqualifiedDesugaredType(), isSemanticValid(), and clang::T.
Referenced by CheckEntryPoint(), and isSemanticValid().
bool SemaHLSL::IsTypedResourceElementCompatible | ( | clang::QualType | QT | ) |
Definition at line 3349 of file SemaHLSL.cpp.
References clang::Type::getAs(), clang::Type::isArithmeticType(), clang::Type::isArrayType(), clang::Type::isBooleanType(), clang::Type::isEnumeralType(), clang::QualType::isNull(), clang::Type::isRecordType(), and clang::SemaBase::SemaRef.
HLSLRootSignatureDecl * SemaHLSL::lookupRootSignatureOverrideDecl | ( | DeclContext * | DC | ) | const |
Definition at line 1127 of file SemaHLSL.cpp.
References clang::LookupResult::getFoundDecl(), clang::Sema::LookupOrdinaryName, and clang::SemaBase::SemaRef.
Referenced by ActOnTopLevelFunction(), and clang::hlsl::HandleRootSignatureTarget().
HLSLNumThreadsAttr * SemaHLSL::mergeNumThreadsAttr | ( | Decl * | D, |
const AttributeCommonInfo & | AL, | ||
int | X, | ||
int | Y, | ||
int | Z ) |
Definition at line 621 of file SemaHLSL.cpp.
References clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), clang::Decl::getAttr(), clang::AttributeCommonInfo::getLoc(), and X.
Referenced by handleNumThreadsAttr(), and mergeDeclAttribute().
HLSLParamModifierAttr * SemaHLSL::mergeParamModifierAttr | ( | Decl * | D, |
const AttributeCommonInfo & | AL, | ||
HLSLParamModifierAttr::Spelling | Spelling ) |
Definition at line 704 of file SemaHLSL.cpp.
References clang::SemaBase::Diag(), clang::Decl::dropAttr(), clang::SemaBase::getASTContext(), clang::Decl::getAttr(), clang::SourceRange::getEnd(), clang::AttributeCommonInfo::getLoc(), and clang::AttributeCommonInfo::getRange().
Referenced by handleParamModifierAttr().
HLSLShaderAttr * SemaHLSL::mergeShaderAttr | ( | Decl * | D, |
const AttributeCommonInfo & | AL, | ||
llvm::Triple::EnvironmentType | ShaderType ) |
Definition at line 691 of file SemaHLSL.cpp.
References clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), clang::Decl::getAttr(), and clang::AttributeCommonInfo::getLoc().
Referenced by handleShaderAttr(), and mergeDeclAttribute().
HLSLVkConstantIdAttr * SemaHLSL::mergeVkConstantIdAttr | ( | Decl * | D, |
const AttributeCommonInfo & | AL, | ||
int | Id ) |
Definition at line 655 of file SemaHLSL.cpp.
References clang::cast(), clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), clang::Decl::getAttr(), clang::AttributeCommonInfo::getLoc(), getSpecConstBuiltinId(), clang::ASTContext::getTargetInfo(), clang::TargetInfo::getTriple(), clang::Builtin::NotBuiltin, and clang::Result.
Referenced by handleVkConstantIdAttr(), and mergeDeclAttribute().
HLSLWaveSizeAttr * SemaHLSL::mergeWaveSizeAttr | ( | Decl * | D, |
const AttributeCommonInfo & | AL, | ||
int | Min, | ||
int | Max, | ||
int | Preferred, | ||
int | SpelledArgsCount ) |
Definition at line 635 of file SemaHLSL.cpp.
References clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), clang::Decl::getAttr(), clang::AttributeCommonInfo::getLoc(), clang::Max, clang::Min, and clang::Result.
Referenced by handleWaveSizeAttr(), and mergeDeclAttribute().
Definition at line 1931 of file SemaHLSL.cpp.
References clang::cast(), clang::CreateHLSLAttributedResourceType(), clang::QualType::getTypePtr(), and clang::SemaBase::SemaRef.
Referenced by ConvertDeclSpecToType().
|
inline |
Definition at line 160 of file SemaHLSL.h.
HLSLAttributedResourceLocInfo SemaHLSL::TakeLocForHLSLAttribute | ( | const HLSLAttributedResourceType * | RT | ) |
Definition at line 1954 of file SemaHLSL.cpp.
References clang::HLSLAttributedResourceLocInfo::Range.
bool SemaHLSL::transformInitList | ( | const InitializedEntity & | Entity, |
InitListExpr * | Init ) |
Definition at line 4263 of file SemaHLSL.cpp.
References clang::cast(), clang::Stmt::getBeginLoc(), clang::QualType::getNonReferenceType(), clang::Expr::getObjectKind(), clang::Expr::getType(), clang::InitializedEntity::getType(), clang::Expr::getValueKind(), clang::QualType::hasAddressSpace(), clang::Expr::HasSideEffects(), clang::Init, clang::Type::isIncompleteArrayType(), clang::Expr::isLValue(), clang::Type::isRecordType(), and clang::SemaBase::SemaRef.
Referenced by TryListInitialization().