clang 20.0.0git
|
#include "clang/Sema/SemaHLSL.h"
#include "clang/AST/Decl.h"
#include "clang/AST/Expr.h"
#include "clang/AST/RecursiveASTVisitor.h"
#include "clang/Basic/DiagnosticSema.h"
#include "clang/Basic/LLVM.h"
#include "clang/Basic/TargetInfo.h"
#include "clang/Sema/ParsedAttr.h"
#include "clang/Sema/Sema.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/TargetParser/Triple.h"
#include <iterator>
Go to the source code of this file.
Functions | |
static unsigned | calculateLegacyCbufferSize (const ASTContext &Context, QualType T) |
static bool | isLegalTypeForHLSLSV_DispatchThreadID (QualType T) |
bool | CheckVectorElementCallArgs (Sema *S, CallExpr *TheCall) |
bool | CheckArgsTypesAreCorrect (Sema *S, CallExpr *TheCall, QualType ExpectedType, llvm::function_ref< bool(clang::QualType PassedType)> Check) |
bool | CheckAllArgsHaveFloatRepresentation (Sema *S, CallExpr *TheCall) |
bool | CheckFloatOrHalfRepresentations (Sema *S, CallExpr *TheCall) |
bool | CheckNoDoubleVectors (Sema *S, CallExpr *TheCall) |
bool | CheckUnsignedIntRepresentation (Sema *S, CallExpr *TheCall) |
void | SetElementTypeAsReturnType (Sema *S, CallExpr *TheCall, QualType ReturnType) |
|
static |
Definition at line 49 of file SemaHLSL.cpp.
References calculateLegacyCbufferSize(), clang::RecordDecl::fields(), clang::Type::getAs(), clang::ASTContext::getAsConstantArrayType(), clang::ASTContext::getTypeSize(), clang::Type::isAggregateType(), and clang::T.
Referenced by clang::SemaHLSL::ActOnFinishBuffer(), and calculateLegacyCbufferSize().
Definition at line 969 of file SemaHLSL.cpp.
References CheckArgsTypesAreCorrect(), clang::Sema::Context, and clang::ASTContext::FloatTy.
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
bool CheckArgsTypesAreCorrect | ( | Sema * | S, |
CallExpr * | TheCall, | ||
QualType | ExpectedType, | ||
llvm::function_ref< bool(clang::QualType PassedType)> | Check | ||
) |
Definition at line 951 of file SemaHLSL.cpp.
References clang::Sema::Context, clang::SemaBase::Diag(), clang::CallExpr::getArg(), clang::Type::getAs(), clang::Stmt::getBeginLoc(), clang::CallExpr::getNumArgs(), clang::Expr::getType(), and clang::ASTContext::getVectorType().
Referenced by CheckAllArgsHaveFloatRepresentation(), CheckFloatOrHalfRepresentations(), CheckNoDoubleVectors(), and CheckUnsignedIntRepresentation().
Definition at line 977 of file SemaHLSL.cpp.
References CheckArgsTypesAreCorrect(), clang::Sema::Context, clang::ASTContext::FloatTy, clang::Type::isFloat32Type(), clang::Type::isHalfType(), and clang::Type::isVectorType().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
Definition at line 989 of file SemaHLSL.cpp.
References CheckArgsTypesAreCorrect(), clang::Sema::Context, and clang::ASTContext::FloatTy.
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
Definition at line 999 of file SemaHLSL.cpp.
References CheckArgsTypesAreCorrect(), clang::Sema::Context, and clang::ASTContext::UnsignedIntTy.
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
Definition at line 901 of file SemaHLSL.cpp.
References clang::SemaBase::Diag(), clang::ActionResult< PtrTy, Compress >::get(), clang::CallExpr::getArg(), clang::Type::getAs(), clang::CallExpr::getBeginLoc(), clang::Stmt::getBeginLoc(), clang::CallExpr::getDirectCallee(), clang::Stmt::getEndLoc(), clang::CallExpr::getNumArgs(), and clang::Expr::getType().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
Definition at line 351 of file SemaHLSL.cpp.
References clang::Type::getAs(), clang::Type::hasUnsignedIntegerRepresentation(), and clang::T.
Referenced by clang::SemaHLSL::handleSV_DispatchThreadIDAttr().
Definition at line 1007 of file SemaHLSL.cpp.
References clang::Sema::Context, clang::Generic, clang::CallExpr::getArg(), clang::Type::getAs(), clang::Expr::getType(), clang::ASTContext::getVectorType(), and clang::Expr::setType().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().