From eb66833d19573df97034a81279eda31b8d19815b Mon Sep 17 00:00:00 2001 From: Paulo Matos Date: Mon, 9 Jan 2023 15:15:12 +0100 Subject: [clang][WebAssembly] Initial support for reference type externref in clang This patch introduces a new type __externref_t that denotes a WebAssembly opaque reference type. It also implements builtin __builtin_wasm_ref_null_extern(), that returns a null value of __externref_t. This lays the ground work for further builtins and reference types. Differential Revision: https://reviews.llvm.org/D122215 --- clang/lib/Serialization/ASTCommon.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'clang/lib/Serialization/ASTCommon.cpp') diff --git a/clang/lib/Serialization/ASTCommon.cpp b/clang/lib/Serialization/ASTCommon.cpp index 96bc47d..252cdbb 100644 --- a/clang/lib/Serialization/ASTCommon.cpp +++ b/clang/lib/Serialization/ASTCommon.cpp @@ -250,6 +250,11 @@ serialization::TypeIdxFromBuiltin(const BuiltinType *BT) { ID = PREDEF_TYPE_##Id##_ID; \ break; #include "clang/Basic/RISCVVTypes.def" +#define WASM_TYPE(Name, Id, SingletonId) \ + case BuiltinType::Id: \ + ID = PREDEF_TYPE_##Id##_ID; \ + break; +#include "clang/Basic/WebAssemblyReferenceTypes.def" case BuiltinType::BuiltinFn: ID = PREDEF_TYPE_BUILTIN_FN; break; -- cgit v1.1