summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordcode <dcode@dcode.io>2022-07-12 18:50:11 +0200
committerGitHub <noreply@github.com>2022-07-12 09:50:11 -0700
commitf6a2a71a8b7ec52e3e4a9b7fdb4d2231a0129149 (patch)
treef51a27865672f1c50c55cc1b87a21cf18d7c4f3d /src
parent5aa2e182f12d17e8dcdd7f8e3df68616c3e61b5a (diff)
downloadbinaryen-f6a2a71a8b7ec52e3e4a9b7fdb4d2231a0129149.tar.gz
binaryen-f6a2a71a8b7ec52e3e4a9b7fdb4d2231a0129149.tar.bz2
binaryen-f6a2a71a8b7ec52e3e4a9b7fdb4d2231a0129149.zip
[C-API] Add packed type constants for use with GC types (#4791)
Diffstat (limited to 'src')
-rw-r--r--src/binaryen-c.cpp12
-rw-r--r--src/binaryen-c.h8
2 files changed, 20 insertions, 0 deletions
diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp
index 233ff5e34..8b4021c5b 100644
--- a/src/binaryen-c.cpp
+++ b/src/binaryen-c.cpp
@@ -172,6 +172,18 @@ WASM_DEPRECATED BinaryenType BinaryenFloat32(void) { return Type::f32; }
WASM_DEPRECATED BinaryenType BinaryenFloat64(void) { return Type::f64; }
WASM_DEPRECATED BinaryenType BinaryenUndefined(void) { return uint32_t(-1); }
+// Packed types
+
+BinaryenPackedType BinaryenPackedTypeNotPacked(void) {
+ return Field::PackedType::not_packed;
+}
+BinaryenPackedType BinaryenPackedTypeInt8(void) {
+ return Field::PackedType::i8;
+}
+BinaryenPackedType BinaryenPackedTypeInt16(void) {
+ return Field::PackedType::i16;
+}
+
// Expression ids
BinaryenExpressionId BinaryenInvalidId(void) {
diff --git a/src/binaryen-c.h b/src/binaryen-c.h
index 387e54b72..bd8e19048 100644
--- a/src/binaryen-c.h
+++ b/src/binaryen-c.h
@@ -121,6 +121,14 @@ WASM_DEPRECATED BinaryenType BinaryenFloat32(void);
WASM_DEPRECATED BinaryenType BinaryenFloat64(void);
WASM_DEPRECATED BinaryenType BinaryenUndefined(void);
+// Packed types (call to get the value of each; you can cache them)
+
+typedef uint32_t BinaryenPackedType;
+
+BINARYEN_API BinaryenPackedType BinaryenPackedTypeNotPacked(void);
+BINARYEN_API BinaryenPackedType BinaryenPackedTypeInt8(void);
+BINARYEN_API BinaryenPackedType BinaryenPackedTypeInt16(void);
+
// Expression ids (call to get the value of each; you can cache them)
typedef uint32_t BinaryenExpressionId;