diff --git a/compiler/wasm32/agwat.pas b/compiler/wasm32/agwat.pas index 129d1bb678..1dd6852158 100644 --- a/compiler/wasm32/agwat.pas +++ b/compiler/wasm32/agwat.pas @@ -402,7 +402,7 @@ implementation InlineLevel : longint; do_line : boolean; const - WasmBasicTypeStr : array [TWasmBasicType] of string = ('i32','i64','f32','f64'); + WasmBasicTypeStr : array [TWasmBasicType] of string = ('i32','i64','f32','f64','funcref','externref','v128'); begin if not assigned(p) then diff --git a/compiler/wasm32/cpubase.pas b/compiler/wasm32/cpubase.pas index d3024e3a0f..cb1dbc926f 100644 --- a/compiler/wasm32/cpubase.pas +++ b/compiler/wasm32/cpubase.pas @@ -121,7 +121,14 @@ uses a_memory_atomic_wait32, a_memory_atomic_wait64, a_memory_atomic_notify, a_atomic_fence ); - TWasmBasicType = (wbt_i32, wbt_i64, wbt_f32, wbt_f64); + TWasmBasicType = ( + { number types } + wbt_i32, wbt_i64, wbt_f32, wbt_f64, + { reference types } + wbt_funcref, wbt_externref, + { vector types } + wbt_v128 + ); TWasmResultType = array of TWasmBasicType; { TWasmFuncType } diff --git a/compiler/wasm32/itcpugas.pas b/compiler/wasm32/itcpugas.pas index 7bfded7769..3f2ba305c3 100644 --- a/compiler/wasm32/itcpugas.pas +++ b/compiler/wasm32/itcpugas.pas @@ -120,7 +120,7 @@ interface 'memory.atomic.wait32', 'memory.atomic.wait64', 'memory.atomic.notify', 'atomic.fence' ); - gas_wasm_basic_type_str : array [TWasmBasicType] of string = ('i32','i64','f32','f64'); + gas_wasm_basic_type_str : array [TWasmBasicType] of string = ('i32','i64','f32','f64','funcref','externref','v128'); function gas_regname(r:Tregister):string;