diff options
| author | Mike Pall <mike> | 2026-07-20 10:20:28 +0200 |
|---|---|---|
| committer | Mike Pall <mike> | 2026-07-20 10:20:28 +0200 |
| commit | 6f2ec80c11c2bd23e2ba792ae27a4febc8dddc8c (patch) | |
| tree | 58ddd00fc12a6718b736ce893c4470cbceca2332 /src/lj_ccallback.c | |
| parent | 329b7912088095a00685285180d705f6d131e6f0 (diff) | |
| parent | 14d8a7a27dc8c626ab9e7c7e9e50b6df6def4f03 (diff) | |
| download | luajit-temp-v3bp-syntax1.tar.gz luajit-temp-v3bp-syntax1.tar.bz2 luajit-temp-v3bp-syntax1.zip | |
Merge branch 'v2.1' into temp-v3bp-syntax1temp-v3bp-syntax1
Diffstat (limited to 'src/lj_ccallback.c')
| -rw-r--r-- | src/lj_ccallback.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lj_ccallback.c b/src/lj_ccallback.c index 724dea607..2ed84507a 100644 --- a/src/lj_ccallback.c +++ b/src/lj_ccallback.c | |||
| @@ -704,6 +704,10 @@ static void callback_conv_result(CTState *cts, lua_State *L, TValue *o) | |||
| 704 | if (ctr->size <= 4 && | 704 | if (ctr->size <= 4 && |
| 705 | (LJ_ABI_SOFTFP || ctype_isinteger_or_bool(ctr->info))) | 705 | (LJ_ABI_SOFTFP || ctype_isinteger_or_bool(ctr->info))) |
| 706 | *(int64_t *)dp = (int64_t)*(int32_t *)dp; | 706 | *(int64_t *)dp = (int64_t)*(int32_t *)dp; |
| 707 | #elif LJ_TARGET_X64 | ||
| 708 | /* Always zero-extend results to 64 bits. */ | ||
| 709 | if (ctr->size <= 4 && ctype_isinteger_or_bool(ctr->info)) | ||
| 710 | *(uint64_t *)dp = (uint64_t)*(uint32_t *)dp; | ||
| 707 | #endif | 711 | #endif |
| 708 | #if LJ_TARGET_X86 | 712 | #if LJ_TARGET_X86 |
| 709 | if (ctype_isfp(ctr->info)) | 713 | if (ctype_isfp(ctr->info)) |
