|
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 198 of file SemaHLSL.cpp.
References clang::SemaBase::SemaBase().
| void SemaHLSL::ActOnEndOfTranslationUnit | ( | TranslationUnitDecl * | TU | ) |
Definition at line 2652 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 596 of file SemaHLSL.cpp.
References addImplicitBindingAttrToDecl(), clang::cast(), createHostLayoutStructForBuffer(), clang::Decl::getLocation(), clang::hlsl::ResourceBindingAttrs::hasBinding(), clang::hlsl::ResourceBindingAttrs::isExplicit(), clang::SemaBase::SemaRef, clang::hlsl::ResourceBindingAttrs::setImplicitOrderID(), 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 1170 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 3711 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 200 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 1158 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 726 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 3823 of file SemaHLSL.cpp.
References addImplicitBindingAttrToDecl(), deduceAddressSpace(), clang::ASTContext::getAddrSpaceQualType(), clang::Type::getAsCXXRecordDecl(), clang::SemaBase::getASTContext(), clang::ASTContext::getBaseElementType(), clang::Decl::getLocation(), getRegisterType(), getResourceArrayHandleType(), clang::ValueDecl::getType(), clang::Decl::hasAttr(), clang::hlsl::ResourceBindingAttrs::hasBinding(), hasCounterHandle(), clang::hlsl::ResourceBindingAttrs::hasCounterImplicitOrderID(), clang::VarDecl::hasGlobalStorage(), clang::hlsl_constant, IsDefaultBufferConstantDecl(), clang::hlsl::ResourceBindingAttrs::isExplicit(), clang::Type::isHLSLIntangibleType(), clang::Type::isHLSLResourceRecordArray(), isResourceRecordTypeOrArrayOf(), clang::SC_Static, clang::SemaBase::SemaRef, clang::hlsl::ResourceBindingAttrs::setCounterImplicitOrderID(), clang::hlsl::ResourceBindingAttrs::setImplicitOrderID(), clang::Decl::setInvalidDecl(), clang::VarDecl::setStorageClass(), and clang::ValueDecl::setType().
Referenced by clang::Sema::ActOnVariableDeclarator().
Definition at line 3638 of file SemaHLSL.cpp.
References BuildFlattenedTypeList(), CanPerformScalarCast(), clang::Type::getAs(), clang::VectorType::getElementType(), clang::VectorType::getNumElements(), clang::Expr::getType(), clang::Type::isScalarType(), and clang::Type::isVectorType().
Definition at line 3670 of file SemaHLSL.cpp.
References BuildFlattenedTypeList(), CanPerformScalarCast(), clang::Expr::getType(), clang::Type::isScalarType(), and clang::Type::isVectorType().
Definition at line 3570 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 2954 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::ASTContext::getHLSLAttributedResourceType(), 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 3536 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 852 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(), 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 4067 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.
|
inline |
Definition at line 179 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 3789 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 955 of file SemaHLSL.cpp.
References clang::SemaBase::Diag(), clang::AttributeCommonInfo::getAttrName(), and clang::AttributeCommonInfo::getLoc().
Referenced by CheckEntryPoint().
| bool SemaHLSL::diagnoseInputIDType | ( | QualType | T, |
| const ParsedAttr & | AL ) |
Definition at line 1680 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 1693 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 1704 of file SemaHLSL.cpp.
References clang::Decl::addAttr(), clang::cast(), createSemanticAttr(), clang::SemaBase::Diag(), diagnoseInputIDType(), clang::Decl::getAttr(), clang::AttributeCommonInfo::getAttrName(), clang::AttributeCommonInfo::getLoc(), clang::IdentifierInfo::getName(), and clang::FunctionDecl::getReturnType().
Referenced by handleSemanticAttr().
| void SemaHLSL::emitLogicalOperatorFixIt | ( | Expr * | LHS, |
| Expr * | RHS, | ||
| BinaryOperatorKind | Opc ) |
Definition at line 1139 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 3769 of file SemaHLSL.cpp.
References clang::QualType::addRestrict(), clang::Type::isReferenceType(), and clang::SemaBase::SemaRef.
Referenced by GetFullTypeForDeclarator(), and instantiateDependentHLSLParamModifierAttr().
Definition at line 4458 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 1528 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 1772 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 2302 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 2210 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 1932 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 1502 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 1319 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 1758 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 1821 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 1072 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 1667 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 1658 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 1650 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 1586 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 3513 of file SemaHLSL.cpp.
References BuildFlattenedTypeList(), clang::QualType::getCanonicalType(), clang::QualType::getUnqualifiedType(), clang::QualType::isNull(), and clang::SemaBase::SemaRef.
| bool SemaHLSL::IsTypedResourceElementCompatible | ( | clang::QualType | QT | ) |
Definition at line 3476 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 1190 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 623 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 706 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 693 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 657 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 637 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 2014 of file SemaHLSL.cpp.
References clang::cast(), clang::CreateHLSLAttributedResourceType(), clang::QualType::getTypePtr(), and clang::SemaBase::SemaRef.
Referenced by ConvertDeclSpecToType().
|
inline |
Definition at line 157 of file SemaHLSL.h.
| HLSLAttributedResourceLocInfo SemaHLSL::TakeLocForHLSLAttribute | ( | const HLSLAttributedResourceType * | RT | ) |
Definition at line 2037 of file SemaHLSL.cpp.
References clang::HLSLAttributedResourceLocInfo::Range.
| bool SemaHLSL::transformInitList | ( | const InitializedEntity & | Entity, |
| InitListExpr * | Init ) |
Definition at line 4402 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().