A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://clang.llvm.org/doxygen/SemaWasm_8cpp_source.html below:

clang: lib/Sema/SemaWasm.cpp Source File

31 Expr

*ArgExpr =

E

->getArg(ArgIndex);

32 const auto

*ATy = dyn_cast<ArrayType>(ArgExpr->

getType

());

33 if

(!ATy || !ATy->getElementType().isWebAssemblyReferenceType()) {

35

diag::err_wasm_builtin_arg_must_be_table_type)

38

ElTy = ATy->getElementType();

45 Expr

*ArgExpr =

E

->getArg(ArgIndex);

48

diag::err_wasm_builtin_arg_must_be_integer_type)

74 QualType

Pointee = Context.getFunctionType(Context.VoidTy, {}, {});

77 Type

= Context.getAttributedType(attr::WebAssemblyFuncref,

Type

,

78

Context.getPointerType(Pointee));

152

diag::err_wasm_builtin_arg_must_match_table_element_type)

179

diag::err_wasm_builtin_arg_must_match_table_element_type)

207

diag::err_wasm_builtin_arg_must_match_table_element_type)

211 for

(

int

I = 2; I <= 4; I++) {

223 case

WebAssembly::BI__builtin_wasm_ref_null_extern:

225 case

WebAssembly::BI__builtin_wasm_ref_null_func:

227 case

WebAssembly::BI__builtin_wasm_table_get:

229 case

WebAssembly::BI__builtin_wasm_table_set:

231 case

WebAssembly::BI__builtin_wasm_table_size:

233 case

WebAssembly::BI__builtin_wasm_table_grow:

235 case

WebAssembly::BI__builtin_wasm_table_fill:

237 case

WebAssembly::BI__builtin_wasm_table_copy:

244

WebAssemblyImportModuleAttr *

246 const

WebAssemblyImportModuleAttr &AL) {

247 auto

*FD = cast<FunctionDecl>(

D

);

249 if

(

const auto

*ExistingAttr = FD->getAttr<WebAssemblyImportModuleAttr>()) {

250 if

(ExistingAttr->getImportModule() == AL.getImportModule())

252 Diag

(ExistingAttr->getLocation(), diag::warn_mismatched_import)

253

<< 0 << ExistingAttr->getImportModule() << AL.getImportModule();

254 Diag

(AL.getLoc(), diag::note_previous_attribute);

258 Diag

(AL.getLoc(), diag::warn_import_on_definition) << 0;

262

WebAssemblyImportModuleAttr(

getASTContext

(), AL, AL.getImportModule());

265

WebAssemblyImportNameAttr *

267 auto

*FD = cast<FunctionDecl>(

D

);

269 if

(

const auto

*ExistingAttr = FD->getAttr<WebAssemblyImportNameAttr>()) {

270 if

(ExistingAttr->getImportName() == AL.getImportName())

272 Diag

(ExistingAttr->getLocation(), diag::warn_mismatched_import)

273

<< 1 << ExistingAttr->getImportName() << AL.getImportName();

274 Diag

(AL.getLoc(), diag::note_previous_attribute);

278 Diag

(AL.getLoc(), diag::warn_import_on_definition) << 1;

282

WebAssemblyImportNameAttr(

getASTContext

(), AL, AL.getImportName());

287 auto

*FD = cast<FunctionDecl>(

D

);

294 Diag

(AL.

getLoc

(), diag::warn_import_on_definition) << 0;

303 auto

*FD = cast<FunctionDecl>(

D

);

310 Diag

(AL.

getLoc

(), diag::warn_import_on_definition) << 1;

321 Diag

(

D

->getLocation(), diag::warn_attribute_wrong_decl_type)

326 auto

*FD = cast<FunctionDecl>(

D

);

327 if

(FD->isThisDeclarationADefinition()) {

328 Diag

(

D

->getLocation(), diag::err_alias_is_definition) << FD << 0;

337 D

->addAttr(::new (Context) WebAssemblyExportNameAttr(Context, AL, Str));

338 D

->addAttr(UsedAttr::CreateImplicit(Context));

Defines the clang::ASTContext interface.

Provides definitions for the various language-specific address spaces.

This file declares semantic analysis functions specific to Wasm.

Enumerates target-specific builtins in their own namespaces within namespace clang.

C Language Family Type Representation.

Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...

bool isRegularKeywordAttribute() const

SourceLocation getLoc() const

CallExpr - Represents a function call (C99 6.5.2.2, C++ [expr.call]).

Expr * getArg(unsigned Arg)

getArg - Return the specified argument.

SourceLocation getBeginLoc() const LLVM_READONLY

unsigned getNumArgs() const

getNumArgs - Return the number of actual arguments to this call.

Decl - This represents one declaration (or definition), e.g.

This represents one expression.

ParsedAttr - Represents a syntactic attribute.

A (possibly-)qualified type.

SemaDiagnosticBuilder Diag(SourceLocation Loc, unsigned DiagID, bool DeferHint=false)

Emit a diagnostic.

ASTContext & getASTContext() const

void handleWebAssemblyImportNameAttr(Decl *D, const ParsedAttr &AL)

bool BuiltinWasmRefNullExtern(CallExpr *TheCall)

bool CheckWebAssemblyBuiltinFunctionCall(const TargetInfo &TI, unsigned BuiltinID, 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...

bool BuiltinWasmTableFill(CallExpr *TheCall)

Check that the first argument is a WebAssembly table, the second is an integer, the third is the valu...

bool BuiltinWasmTableSize(CallExpr *TheCall)

Check that the argument is a WebAssembly table.

void handleWebAssemblyImportModuleAttr(Decl *D, const ParsedAttr &AL)

bool BuiltinWasmRefNullFunc(CallExpr *TheCall)

bool BuiltinWasmTableSet(CallExpr *TheCall)

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

void handleWebAssemblyExportNameAttr(Decl *D, const ParsedAttr &AL)

WebAssemblyImportNameAttr * mergeImportNameAttr(Decl *D, const WebAssemblyImportNameAttr &AL)

WebAssemblyImportModuleAttr * mergeImportModuleAttr(Decl *D, const WebAssemblyImportModuleAttr &AL)

bool BuiltinWasmTableGrow(CallExpr *TheCall)

Check that the first argument is a WebAssembly table, the second is the value to use for new elements...

bool BuiltinWasmTableCopy(CallExpr *TheCall)

Check that the first argument is a WebAssembly table, the second is also a WebAssembly table (of the ...

Sema - This implements semantic analysis and AST building for C.

bool checkArgCount(CallExpr *Call, unsigned DesiredArgCount)

Checks that a call expression's argument count is the desired number.

bool checkStringLiteralArgumentAttr(const AttributeCommonInfo &CI, const Expr *E, StringRef &Str, SourceLocation *ArgLocation=nullptr)

Check if the argument E is a ASCII string literal.

Encodes a location in the source.

SourceRange getSourceRange() const LLVM_READONLY

SourceLocation tokens are not useful in isolation - they are low level value objects created/interpre...

SourceLocation getBeginLoc() const LLVM_READONLY

Exposes information about the current target.

The base class of the type hierarchy.

bool isIntegerType() const

isIntegerType() does not include complex integers (a GCC extension).

The JSON file list parser is used to communicate input to InstallAPI.

static bool CheckWasmBuiltinArgIsTable(Sema &S, CallExpr *E, unsigned ArgIndex, QualType &ElTy)

Checks the argument at the given index is a WebAssembly table and if it is, sets ElTy to the element ...

static bool CheckWasmBuiltinArgIsInteger(Sema &S, CallExpr *E, unsigned ArgIndex)

Checks the argument at the given index is an integer.

bool isFuncOrMethodForAttrSubject(const Decl *D)

isFuncOrMethodForAttrSubject - Return true if the given decl has function type (function or function-...


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4