clang 20.0.0git
|
#include "clang/Sema/SemaSYCL.h"
Additional Inherited Members | |
![]() | |
Sema & | SemaRef |
Definition at line 27 of file SemaSYCL.h.
SemaSYCL::SemaSYCL | ( | Sema & | S | ) |
Definition at line 26 of file SemaSYCL.cpp.
ExprResult SemaSYCL::ActOnUniqueStableNameExpr | ( | SourceLocation | OpLoc, |
SourceLocation | LParen, | ||
SourceLocation | RParen, | ||
ParsedType | ParsedTy | ||
) |
Definition at line 149 of file SemaSYCL.cpp.
References BuildUniqueStableNameExpr(), clang::ExprError(), clang::SemaBase::getASTContext(), clang::ASTContext::getTrivialTypeSourceInfo(), clang::Sema::GetTypeFromParser(), clang::QualType::isNull(), and clang::SemaBase::SemaRef.
ExprResult SemaSYCL::BuildUniqueStableNameExpr | ( | SourceLocation | OpLoc, |
SourceLocation | LParen, | ||
SourceLocation | RParen, | ||
TypeSourceInfo * | TSI | ||
) |
Definition at line 141 of file SemaSYCL.cpp.
References clang::SYCLUniqueStableNameExpr::Create(), and clang::SemaBase::getASTContext().
Referenced by ActOnUniqueStableNameExpr(), and clang::TreeTransform< Derived >::RebuildSYCLUniqueStableNameExpr().
void SemaSYCL::CheckSYCLEntryPointFunctionDecl | ( | FunctionDecl * | FD | ) |
Definition at line 251 of file SemaSYCL.cpp.
References CheckSYCLKernelName(), clang::declaresSameEntity(), clang::SemaBase::Diag(), clang::ASTContext::findSYCLKernelInfo(), clang::SemaBase::getASTContext(), clang::Decl::getAttr(), clang::SYCLKernelInfo::getKernelEntryPointDecl(), clang::Decl::getLocation(), clang::Redeclarable< decl_type >::getPreviousDecl(), clang::FunctionDecl::getReturnType(), clang::ASTContext::hasSameType(), clang::FunctionDecl::isConsteval(), clang::FunctionDecl::isConstexpr(), clang::FunctionDecl::isDefaulted(), clang::FunctionDecl::isDeleted(), clang::Type::isDependentType(), clang::Decl::isInvalidDecl(), clang::FunctionDecl::isNoReturn(), clang::Decl::isTemplated(), clang::Type::isUndeducedType(), clang::FunctionDecl::isVariadic(), clang::Type::isVoidType(), clang::ASTContext::registerSYCLEntryPointFunction(), clang::SemaBase::SemaRef, and clang::Decl::specific_attrs().
Referenced by clang::Sema::ActOnLambdaExpr(), and clang::Sema::CheckFunctionDeclaration().
void SemaSYCL::deepTypeCheckForDevice | ( | SourceLocation | UsedAt, |
llvm::DenseSet< QualType > | Visited, | ||
ValueDecl * | DeclToCheck | ||
) |
Definition at line 49 of file SemaSYCL.cpp.
References D, DiagIfDeviceCode(), clang::Type::getArrayElementTypeNoTypeQual(), clang::Type::getAsRecordDecl(), clang::SemaBase::getLangOpts(), clang::Decl::getLocation(), clang::Type::getPointeeType(), clang::Type::isAnyPointerType(), clang::Type::isArrayType(), clang::Type::isReferenceType(), isZeroSizedArray(), and Visited.
Sema::SemaDiagnosticBuilder SemaSYCL::DiagIfDeviceCode | ( | SourceLocation | Loc, |
unsigned | DiagID | ||
) |
Creates a SemaDiagnosticBuilder that emits the diagnostic if the current context is "used as device code".
Example usage:
Diagnose __float128 type usage only from SYCL device code if the current target doesn't support it if (!S.Context.getTargetInfo().hasFloat128Type() && S.getLangOpts().SYCLIsDevice) DiagIfDeviceCode(Loc, diag::err_type_unsupported) << "__float128";
Definition at line 28 of file SemaSYCL.cpp.
References clang::Sema::Emitted, clang::Sema::getCurLexicalContext(), clang::Sema::getEmissionStatus(), clang::SemaBase::getLangOpts(), Loc, and clang::SemaBase::SemaRef.
Referenced by deepTypeCheckForDevice().
void SemaSYCL::handleKernelAttr | ( | Decl * | D, |
const ParsedAttr & | AL | ||
) |
Definition at line 164 of file SemaSYCL.cpp.
References D, clang::SemaBase::Diag(), clang::getFunctionOrMethodNumParams(), clang::getFunctionOrMethodResultType(), clang::Decl::getLocation(), clang::TemplateParameterList::getParam(), clang::TemplateDecl::getTemplateParameters(), clang::Type::isVoidType(), and clang::TemplateParameterList::size().
Referenced by ProcessDeclAttribute().
void SemaSYCL::handleKernelEntryPointAttr | ( | Decl * | D, |
const ParsedAttr & | AL | ||
) |
Definition at line 203 of file SemaSYCL.cpp.
References clang::Decl::addAttr(), clang::Sema::Context, D, clang::ParsedAttr::getTypeArg(), clang::Sema::GetTypeFromParser(), and clang::SemaBase::SemaRef.
Referenced by ProcessDeclAttribute().