clang  20.0.0git
Public Member Functions | List of all members
clang::SemaWasm Class Reference

#include "clang/Sema/SemaWasm.h"

Inheritance diagram for clang::SemaWasm:
Inheritance graph
[legend]

Public Member Functions

 SemaWasm (Sema &S)
 
bool CheckWebAssemblyBuiltinFunctionCall (const TargetInfo &TI, unsigned BuiltinID, CallExpr *TheCall)
 
bool BuiltinWasmRefNullExtern (CallExpr *TheCall)
 
bool BuiltinWasmRefNullFunc (CallExpr *TheCall)
 
bool BuiltinWasmTableGet (CallExpr *TheCall)
 Check that the first argument is a WebAssembly table, and the second is an index to use as index into the table. More...
 
bool BuiltinWasmTableSet (CallExpr *TheCall)
 Check that the first argumnet is a WebAssembly table, the second is an index to use as index into the table and the third is the reference type to set into the table. More...
 
bool BuiltinWasmTableSize (CallExpr *TheCall)
 Check that the argument is a WebAssembly table. More...
 
bool BuiltinWasmTableGrow (CallExpr *TheCall)
 Check that the first argument is a WebAssembly table, the second is the value to use for new elements (of a type matching the table type), the third value is an integer. More...
 
bool BuiltinWasmTableFill (CallExpr *TheCall)
 Check that the first argument is a WebAssembly table, the second is an integer, the third is the value to use to fill the table (of a type matching the table type), and the fourth is an integer. More...
 
bool BuiltinWasmTableCopy (CallExpr *TheCall)
 Check that the first argument is a WebAssembly table, the second is also a WebAssembly table (of the same element type), and the third to fifth arguments are integers. More...
 
WebAssemblyImportNameAttr * mergeImportNameAttr (Decl *D, const WebAssemblyImportNameAttr &AL)
 
WebAssemblyImportModuleAttr * mergeImportModuleAttr (Decl *D, const WebAssemblyImportModuleAttr &AL)
 
void handleWebAssemblyExportNameAttr (Decl *D, const ParsedAttr &AL)
 
void handleWebAssemblyImportModuleAttr (Decl *D, const ParsedAttr &AL)
 
void handleWebAssemblyImportNameAttr (Decl *D, const ParsedAttr &AL)
 
- Public Member Functions inherited from clang::SemaBase
 SemaBase (Sema &S)
 
ASTContextgetASTContext () const
 
DiagnosticsEnginegetDiagnostics () const
 
const LangOptionsgetLangOpts () const
 
void addFDToReachableFromSyclDevice (const FunctionDecl *Callee, const FunctionDecl *Caller)
 
bool isFDReachableFromSyclDevice (const FunctionDecl *Callee, const FunctionDecl *Caller)
 
SemaDiagnosticBuilder Diag (SourceLocation Loc, unsigned DiagID, bool DeferHint=false)
 Emit a diagnostic. More...
 
SemaDiagnosticBuilder Diag (SourceLocation Loc, const PartialDiagnostic &PD, bool DeferHint=false)
 Emit a partial diagnostic. More...
 
PartialDiagnostic PDiag (unsigned DiagID=0)
 Build a partial diagnostic. More...
 

Additional Inherited Members

- Public Types inherited from clang::SemaBase
enum class  DeviceDiagnosticReason {
  None = 0 , OmpDevice = 1 << 0 , OmpHost = 1 << 1 , OmpAll = OmpDevice | OmpHost ,
  CudaDevice = 1 << 2 , CudaHost = 1 << 3 , CudaAll = CudaDevice | CudaHost , Sycl = 1 << 4 ,
  Esimd = 1 << 5 , All = OmpAll | CudaAll | Sycl | Esimd
}
 Bitmask to contain the list of reasons a single diagnostic should be emitted, based on its language. More...
 
- Public Attributes inherited from clang::SemaBase
SemaSemaRef
 

Detailed Description

Definition at line 23 of file SemaWasm.h.

Constructor & Destructor Documentation

◆ SemaWasm()

clang::SemaWasm::SemaWasm ( Sema S)

Definition at line 25 of file SemaWasm.cpp.

Member Function Documentation

◆ BuiltinWasmRefNullExtern()

bool clang::SemaWasm::BuiltinWasmRefNullExtern ( CallExpr TheCall)

◆ BuiltinWasmRefNullFunc()

bool clang::SemaWasm::BuiltinWasmRefNullFunc ( CallExpr TheCall)

Definition at line 63 of file SemaWasm.cpp.

Referenced by CheckWebAssemblyBuiltinFunctionCall().

◆ BuiltinWasmTableCopy()

bool clang::SemaWasm::BuiltinWasmTableCopy ( CallExpr TheCall)

Check that the first argument is a WebAssembly table, the second is also a WebAssembly table (of the same element type), and the third to fifth arguments are integers.

Definition at line 192 of file SemaWasm.cpp.

References clang::Sema::checkArgCount(), clang::CheckWasmBuiltinArgIsInteger(), clang::CheckWasmBuiltinArgIsTable(), clang::SemaBase::Diag(), clang::CallExpr::getArg(), clang::SemaBase::getASTContext(), clang::Stmt::getBeginLoc(), clang::Stmt::getSourceRange(), and clang::SemaBase::SemaRef.

Referenced by CheckWebAssemblyBuiltinFunctionCall().

◆ BuiltinWasmTableFill()

bool clang::SemaWasm::BuiltinWasmTableFill ( CallExpr TheCall)

Check that the first argument is a WebAssembly table, the second is an integer, the third is the value to use to fill the table (of a type matching the table type), and the fourth is an integer.

Definition at line 165 of file SemaWasm.cpp.

References clang::Sema::checkArgCount(), clang::CheckWasmBuiltinArgIsInteger(), clang::CheckWasmBuiltinArgIsTable(), clang::SemaBase::Diag(), clang::CallExpr::getArg(), clang::SemaBase::getASTContext(), clang::Stmt::getBeginLoc(), clang::Stmt::getSourceRange(), clang::Expr::getType(), and clang::SemaBase::SemaRef.

Referenced by CheckWebAssemblyBuiltinFunctionCall().

◆ BuiltinWasmTableGet()

bool clang::SemaWasm::BuiltinWasmTableGet ( CallExpr TheCall)

Check that the first argument is a WebAssembly table, and the second is an index to use as index into the table.

Definition at line 86 of file SemaWasm.cpp.

References clang::Sema::checkArgCount(), clang::CheckWasmBuiltinArgIsInteger(), clang::CheckWasmBuiltinArgIsTable(), clang::SemaBase::SemaRef, and clang::Expr::setType().

Referenced by CheckWebAssemblyBuiltinFunctionCall().

◆ BuiltinWasmTableGrow()

bool clang::SemaWasm::BuiltinWasmTableGrow ( CallExpr TheCall)

Check that the first argument is a WebAssembly table, the second is the value to use for new elements (of a type matching the table type), the third value is an integer.

Definition at line 141 of file SemaWasm.cpp.

References clang::Sema::checkArgCount(), clang::CheckWasmBuiltinArgIsInteger(), clang::CheckWasmBuiltinArgIsTable(), clang::SemaBase::Diag(), clang::CallExpr::getArg(), clang::SemaBase::getASTContext(), clang::Stmt::getBeginLoc(), clang::Stmt::getSourceRange(), clang::Expr::getType(), and clang::SemaBase::SemaRef.

Referenced by CheckWebAssemblyBuiltinFunctionCall().

◆ BuiltinWasmTableSet()

bool clang::SemaWasm::BuiltinWasmTableSet ( CallExpr TheCall)

Check that the first argumnet is a WebAssembly table, the second is an index to use as index into the table and the third is the reference type to set into the table.

Definition at line 109 of file SemaWasm.cpp.

References clang::Sema::checkArgCount(), clang::CheckWasmBuiltinArgIsInteger(), clang::CheckWasmBuiltinArgIsTable(), clang::CallExpr::getArg(), clang::SemaBase::getASTContext(), clang::Expr::getType(), and clang::SemaBase::SemaRef.

Referenced by CheckWebAssemblyBuiltinFunctionCall().

◆ BuiltinWasmTableSize()

bool clang::SemaWasm::BuiltinWasmTableSize ( CallExpr TheCall)

Check that the argument is a WebAssembly table.

Definition at line 127 of file SemaWasm.cpp.

References clang::Sema::checkArgCount(), clang::CheckWasmBuiltinArgIsTable(), and clang::SemaBase::SemaRef.

Referenced by CheckWebAssemblyBuiltinFunctionCall().

◆ CheckWebAssemblyBuiltinFunctionCall()

bool clang::SemaWasm::CheckWebAssemblyBuiltinFunctionCall ( const TargetInfo TI,
unsigned  BuiltinID,
CallExpr TheCall 
)

◆ handleWebAssemblyExportNameAttr()

void clang::SemaWasm::handleWebAssemblyExportNameAttr ( Decl D,
const ParsedAttr AL 
)

Definition at line 318 of file SemaWasm.cpp.

◆ handleWebAssemblyImportModuleAttr()

void clang::SemaWasm::handleWebAssemblyImportModuleAttr ( Decl D,
const ParsedAttr AL 
)

◆ handleWebAssemblyImportNameAttr()

void clang::SemaWasm::handleWebAssemblyImportNameAttr ( Decl D,
const ParsedAttr AL 
)

◆ mergeImportModuleAttr()

WebAssemblyImportModuleAttr * clang::SemaWasm::mergeImportModuleAttr ( Decl D,
const WebAssemblyImportModuleAttr &  AL 
)

Definition at line 245 of file SemaWasm.cpp.

References D, clang::SemaBase::Diag(), and clang::SemaBase::getASTContext().

◆ mergeImportNameAttr()

WebAssemblyImportNameAttr * clang::SemaWasm::mergeImportNameAttr ( Decl D,
const WebAssemblyImportNameAttr &  AL 
)

Definition at line 266 of file SemaWasm.cpp.

References D, clang::SemaBase::Diag(), and clang::SemaBase::getASTContext().


The documentation for this class was generated from the following files: