mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-02 12:10:22 +02:00
+ support declaring wasm globals in the WebAssembly internal object writer
This commit is contained in:
parent
77e350b6b8
commit
65b4425672
@ -752,7 +752,13 @@ implementation
|
||||
procedure TWasmObjData.DeclareGlobalType(gt: tai_globaltype);
|
||||
var
|
||||
ObjSymExtraData: TWasmObjSymbolExtraData;
|
||||
ObjSym: TObjSymbol;
|
||||
begin
|
||||
if not gt.is_external then
|
||||
begin
|
||||
ObjSym:=symboldefine(gt.sym);
|
||||
ObjSym.typ:=AT_WASM_GLOBAL;
|
||||
end;
|
||||
ObjSymExtraData:=AddOrCreateObjSymbolExtraData(gt.globalname);
|
||||
ObjSymExtraData.GlobalType:=gt.gtype;
|
||||
ObjSymExtraData.GlobalIsImmutable:=gt.immutable;
|
||||
@ -1753,8 +1759,14 @@ implementation
|
||||
WriteUleb(FWasmSymbolTable,objsym.GlobalIndex);
|
||||
end
|
||||
else
|
||||
{not implemented yet}
|
||||
internalerror(2021092705);
|
||||
begin
|
||||
WriteUleb(FWasmSymbolTable,0);
|
||||
if (objsym.GlobalIndex<0) then
|
||||
message1(asmw_e_illegal_unset_index,objsym.name)
|
||||
else
|
||||
WriteUleb(FWasmSymbolTable,objsym.GlobalIndex);
|
||||
WriteName(FWasmSymbolTable,objsym.Name);
|
||||
end;
|
||||
end
|
||||
else if IsExternalFunction(objsym) then
|
||||
begin
|
||||
|
Loading…
Reference in New Issue
Block a user