aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-08-10 13:41:43 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-08-10 13:41:43 -0700
commit67cdf1c9b3aaeb823b513e85ca88dab6ce49897f (patch)
treeecdf4c7370e3143a934585b357d7471d333f10d4
parent1eddf254e12c08f9c323d94797ae4e37527372d6 (diff)
downloadbun-67cdf1c9b3aaeb823b513e85ca88dab6ce49897f.tar.gz
bun-67cdf1c9b3aaeb823b513e85ca88dab6ce49897f.tar.zst
bun-67cdf1c9b3aaeb823b513e85ca88dab6ce49897f.zip
Commit snapshot
-rw-r--r--test/bun.js/ffi.test.fixture.callback.c6
-rw-r--r--test/bun.js/ffi.test.fixture.receiver.c10
2 files changed, 12 insertions, 4 deletions
diff --git a/test/bun.js/ffi.test.fixture.callback.c b/test/bun.js/ffi.test.fixture.callback.c
index 3c1a95d47..4c1361093 100644
--- a/test/bun.js/ffi.test.fixture.callback.c
+++ b/test/bun.js/ffi.test.fixture.callback.c
@@ -14,6 +14,8 @@
#define USE_JSVALUE64 1
#define USE_JSVALUE32_64 0
+#define ZIG_REPR_TYPE int64_t
+
// /* 7.18.1.1 Exact-width integer types */
typedef unsigned char uint8_t;
@@ -81,6 +83,8 @@ typedef union EncodedJSValue {
void* asPtr;
double asDouble;
+
+ ZIG_REPR_TYPE asZigRepr;
} EncodedJSValue;
EncodedJSValue ValueUndefined = { TagValueUndefined };
@@ -245,7 +249,7 @@ static EncodedJSValue INT64_TO_JSVALUE(void* globalObject, int64_t val) {
}
#ifndef IS_CALLBACK
-void* JSFunctionCall(void* globalObject, void* callFrame);
+ZIG_REPR_TYPE JSFunctionCall(void* globalObject, void* callFrame);
#endif
diff --git a/test/bun.js/ffi.test.fixture.receiver.c b/test/bun.js/ffi.test.fixture.receiver.c
index 90ef5072a..6e1795919 100644
--- a/test/bun.js/ffi.test.fixture.receiver.c
+++ b/test/bun.js/ffi.test.fixture.receiver.c
@@ -15,6 +15,8 @@
#define USE_JSVALUE64 1
#define USE_JSVALUE32_64 0
+#define ZIG_REPR_TYPE int64_t
+
// /* 7.18.1.1 Exact-width integer types */
typedef unsigned char uint8_t;
@@ -82,6 +84,8 @@ typedef union EncodedJSValue {
void* asPtr;
double asDouble;
+
+ ZIG_REPR_TYPE asZigRepr;
} EncodedJSValue;
EncodedJSValue ValueUndefined = { TagValueUndefined };
@@ -246,7 +250,7 @@ static EncodedJSValue INT64_TO_JSVALUE(void* globalObject, int64_t val) {
}
#ifndef IS_CALLBACK
-void* JSFunctionCall(void* globalObject, void* callFrame);
+ZIG_REPR_TYPE JSFunctionCall(void* globalObject, void* callFrame);
#endif
@@ -257,12 +261,12 @@ float not_a_callback(float arg0);
/* ---- Your Wrapper Function ---- */
-void* JSFunctionCall(void* globalObject, void* callFrame) {
+ZIG_REPR_TYPE JSFunctionCall(void* globalObject, void* callFrame) {
LOAD_ARGUMENTS_FROM_CALL_FRAME;
EncodedJSValue arg0;
arg0.asInt64 = *argsPtr;
float return_value = not_a_callback( JSVALUE_TO_FLOAT(arg0));
- return FLOAT_TO_JSVALUE(return_value).asPtr;
+ return FLOAT_TO_JSVALUE(return_value).asZigRepr;
}