]> git.ipfire.org Git - thirdparty/LuaJIT.git/log
thirdparty/LuaJIT.git
2 days agoFix documentation about Lua 5.2 extensions/compatibility. v2.1
Mike Pall [Mon, 20 Jul 2026 20:55:05 +0000 (22:55 +0200)] 
Fix documentation about Lua 5.2 extensions/compatibility.

Reported by goodusername123. #1487

2 days agoDocument bit operator bytecode compatibility.
Mike Pall [Mon, 20 Jul 2026 08:23:09 +0000 (10:23 +0200)] 
Document bit operator bytecode compatibility.

2 days agoBackport some v3.0 syntax extensions.
Mike Pall [Mon, 20 Jul 2026 08:20:49 +0000 (10:20 +0200)] 
Backport some v3.0 syntax extensions.

Documentation in #1475. Backport discussion in #1476.
Thanks to Appla, slashOwO, Sergey Kaplun, CppCXY.

4 days agox64/LJ_GC64: Avoid store-to-load forwarding stall after stack restore.
Mike Pall [Sat, 18 Jul 2026 07:48:48 +0000 (09:48 +0200)] 
x64/LJ_GC64: Avoid store-to-load forwarding stall after stack restore.

Thanks to Sergey Kaplun. #1485

11 days agoMerge branch 'master' into v2.1
Mike Pall [Sat, 11 Jul 2026 12:41:15 +0000 (14:41 +0200)] 
Merge branch 'master' into v2.1

11 days agox64: Fix callback result handling. master v2.0
Mike Pall [Sat, 11 Jul 2026 12:37:49 +0000 (14:37 +0200)] 
x64: Fix callback result handling.

Reported by Matt Gerassimoff.

12 days agoDynASM/x86: Fix insertps instruction encoding.
Mike Pall [Fri, 10 Jul 2026 08:38:55 +0000 (10:38 +0200)] 
DynASM/x86: Fix insertps instruction encoding.

Thanks to Dmitry Stogov. #1483

13 days agoDon't use destroyed lock when profiler has been stopped.
Mike Pall [Thu, 9 Jul 2026 08:24:06 +0000 (10:24 +0200)] 
Don't use destroyed lock when profiler has been stopped.

Reported by Miku AuahDark. #1482 #1460

2 weeks agox64/ARM64/MIPS64: Fix constant bit shift code generation.
Mike Pall [Tue, 7 Jul 2026 09:07:19 +0000 (11:07 +0200)] 
x64/ARM64/MIPS64: Fix constant bit shift code generation.

Reported by Sergey Kaplun. #1480

3 weeks agoFFI/MacOS: Fix calling convention for on-stack varargs.
Mike Pall [Mon, 29 Jun 2026 09:40:02 +0000 (11:40 +0200)] 
FFI/MacOS: Fix calling convention for on-stack varargs.

Thanks to Sergey Kaplun. #1455

3 weeks agoMerge branch 'master' into v2.1
Mike Pall [Thu, 25 Jun 2026 10:00:59 +0000 (12:00 +0200)] 
Merge branch 'master' into v2.1

3 weeks agoMake check in os.time() consistent.
Mike Pall [Thu, 25 Jun 2026 09:59:34 +0000 (11:59 +0200)] 
Make check in os.time() consistent.

Thanks to Temir Galeev. #1470

4 weeks agoiOS: Avoid macro name collision.
Mike Pall [Wed, 24 Jun 2026 14:20:30 +0000 (16:20 +0200)] 
iOS: Avoid macro name collision.

Reported by Andrey Filipenkov. #1477

5 weeks agoOptionally return PC position in jit.util.tracesnap().
Mike Pall [Tue, 16 Jun 2026 09:38:02 +0000 (11:38 +0200)] 
Optionally return PC position in jit.util.tracesnap().

Suggested by Sergey Bronnikov. #1472

5 weeks agoMerge branch 'master' into v2.1
Mike Pall [Tue, 16 Jun 2026 09:13:38 +0000 (11:13 +0200)] 
Merge branch 'master' into v2.1

5 weeks agoFix stack overflow relimit handling.
Mike Pall [Tue, 16 Jun 2026 09:12:21 +0000 (11:12 +0200)] 
Fix stack overflow relimit handling.

Thanks to Sergey Kaplun. #1471

5 weeks agoMerge branch 'master' into v2.1
Mike Pall [Sat, 13 Jun 2026 09:00:59 +0000 (11:00 +0200)] 
Merge branch 'master' into v2.1

5 weeks agoFix corner case of os.time().
Mike Pall [Sat, 13 Jun 2026 08:59:29 +0000 (10:59 +0200)] 
Fix corner case of os.time().

Thanks to Temir Galeev. #1470

7 weeks agoFFI/MacOS: Fix calling convention for enums.
Mike Pall [Fri, 29 May 2026 17:38:47 +0000 (19:38 +0200)] 
FFI/MacOS: Fix calling convention for enums.

Thanks to Sergey Kaplun. #1455

8 weeks agoPrevent sanitizer warnings for lj_tab_new*() and table.new().
Mike Pall [Sun, 24 May 2026 23:28:32 +0000 (01:28 +0200)] 
Prevent sanitizer warnings for lj_tab_new*() and table.new().

Reported by Sergey Bronnikov. #1458

8 weeks agoMerge branch 'master' into v2.1
Mike Pall [Sun, 24 May 2026 23:28:03 +0000 (01:28 +0200)] 
Merge branch 'master' into v2.1

8 weeks agoFFI: Prevent sanitizer warning in carith_ptr().
Mike Pall [Sun, 24 May 2026 23:26:26 +0000 (01:26 +0200)] 
FFI: Prevent sanitizer warning in carith_ptr().

Reported by Sergey Bronnikov. #1459

8 weeks agoPrevent sanitizer warning in os.time().
Mike Pall [Sun, 24 May 2026 23:25:32 +0000 (01:25 +0200)] 
Prevent sanitizer warning in os.time().

Reported by Sergey Bronnikov. #1454

8 weeks agoAvoid race condition with profiler thread during dispatch table update.
Mike Pall [Sun, 24 May 2026 23:23:26 +0000 (01:23 +0200)] 
Avoid race condition with profiler thread during dispatch table update.

Reported by artemking4. #1460

8 weeks agox86/x64: Change ipairs_aux to match JIT backend behavior.
Mike Pall [Sun, 24 May 2026 23:18:53 +0000 (01:18 +0200)] 
x86/x64: Change ipairs_aux to match JIT backend behavior.

Thanks to Sergey Kaplun. #1463

8 weeks agoFFI: Various ABI and calling convention fixes.
Mike Pall [Sun, 24 May 2026 23:15:29 +0000 (01:15 +0200)] 
FFI: Various ABI and calling convention fixes.

Thanks to Sergey Kaplun. #1455

3 months agoMerge branch 'master' into v2.1
Mike Pall [Mon, 30 Mar 2026 18:43:18 +0000 (20:43 +0200)] 
Merge branch 'master' into v2.1

3 months agoFFI: Shrink container of packed bitfield.
Mike Pall [Mon, 30 Mar 2026 18:41:59 +0000 (20:41 +0200)] 
FFI: Shrink container of packed bitfield.

Reported by Huang Haiyang. #1451

3 months agoFix VM event error handling for finalizers.
Mike Pall [Fri, 27 Mar 2026 19:04:50 +0000 (20:04 +0100)] 
Fix VM event error handling for finalizers.

Reported by Sergey Kaplun. #1445

3 months agoAvoid use of subnormals for internal registry keys.
Mike Pall [Fri, 27 Mar 2026 18:54:29 +0000 (19:54 +0100)] 
Avoid use of subnormals for internal registry keys.

Non-ABI-compliant FPU modes (-ffast-math, -Ofast, FTZ/DAZ set) may
still cause erratic behavior and are not supported. #1448

3 months agoMerge branch 'master' into v2.1
Mike Pall [Fri, 27 Mar 2026 18:51:15 +0000 (19:51 +0100)] 
Merge branch 'master' into v2.1

3 months agoPrevent false positive sanitizer warning in unpack().
Mike Pall [Fri, 27 Mar 2026 18:49:05 +0000 (19:49 +0100)] 
Prevent false positive sanitizer warning in unpack().

Reported by Sergey Bronnikov. #1450

3 months agoFFI: Fix pointer difference operation on 64 bit platforms.
Mike Pall [Fri, 27 Mar 2026 18:47:27 +0000 (19:47 +0100)] 
FFI: Fix pointer difference operation on 64 bit platforms.

Thanks to cuiweixie. #1449

4 months agoMerge branch 'master' into v2.1
Mike Pall [Wed, 4 Mar 2026 10:20:47 +0000 (11:20 +0100)] 
Merge branch 'master' into v2.1

4 months agoFix edge cases when recording string.byte/sub.
Mike Pall [Wed, 4 Mar 2026 10:18:28 +0000 (11:18 +0100)] 
Fix edge cases when recording string.byte/sub.

Thanks to Sergey Kaplun. #1443

4 months agoAdd ffi.abi("dualnum").
Mike Pall [Thu, 26 Feb 2026 23:33:30 +0000 (00:33 +0100)] 
Add ffi.abi("dualnum").

Thanks to Sergey Kaplun. #1442

4 months agoMerge branch 'master' into v2.1
Mike Pall [Tue, 24 Feb 2026 21:17:01 +0000 (22:17 +0100)] 
Merge branch 'master' into v2.1

4 months agoFFI: Fix constructor index resolution in JIT compiler.
Mike Pall [Tue, 24 Feb 2026 21:13:15 +0000 (22:13 +0100)] 
FFI: Fix constructor index resolution in JIT compiler.

Reported by Vladimir Davydov and Sergey Kaplun. #1441

5 months agoDUALNUM: Fix recording of loops broken by previous change.
Mike Pall [Mon, 16 Feb 2026 17:00:33 +0000 (18:00 +0100)] 
DUALNUM: Fix recording of loops broken by previous change.

Thanks to Nicholas Davies. #1432 #1433 #1438

5 months agoMerge branch 'master' into v2.1
Mike Pall [Fri, 13 Feb 2026 13:24:23 +0000 (14:24 +0100)] 
Merge branch 'master' into v2.1

5 months agoFix compiler warning.
Mike Pall [Fri, 13 Feb 2026 13:21:42 +0000 (14:21 +0100)] 
Fix compiler warning.

Thanks to Holger Hoffstätte. #1436

5 months agoFix G->jit_base relocation on stack resize.
Mike Pall [Wed, 11 Feb 2026 22:16:59 +0000 (23:16 +0100)] 
Fix G->jit_base relocation on stack resize.

Reported by f32y. #1435

5 months agoPrevent recording of loops with -0 step or NaN values.
Mike Pall [Wed, 11 Feb 2026 22:14:13 +0000 (23:14 +0100)] 
Prevent recording of loops with -0 step or NaN values.

Thanks to Sergey Kaplun. #1432 #1433

5 months agoAvoid recording interference due to invocation of VM hooks.
Mike Pall [Wed, 11 Feb 2026 22:12:53 +0000 (23:12 +0100)] 
Avoid recording interference due to invocation of VM hooks.

Thanks to Sergey Kaplun. #1429 #1434

5 months agox64/!LJ_GC64: The allocation limit is required for a no-JIT build, too.
Mike Pall [Wed, 11 Feb 2026 22:09:57 +0000 (23:09 +0100)] 
x64/!LJ_GC64: The allocation limit is required for a no-JIT build, too.

Thanks to Sergey Kaplun. #1430

5 months agoMIPS64: Avoid unaligned load in lj_vm_exit_interp.
Mike Pall [Wed, 11 Feb 2026 22:06:36 +0000 (23:06 +0100)] 
MIPS64: Avoid unaligned load in lj_vm_exit_interp.

Thanks to Sergey Kaplun. #1428

5 months agoPrevent snapshot purge while recording a function header.
Mike Pall [Wed, 11 Feb 2026 22:04:42 +0000 (23:04 +0100)] 
Prevent snapshot purge while recording a function header.

Thanks to Sergey Kaplun. #1425

6 months agoDUALNUM: Improve/fix edge cases of unary minus.
Mike Pall [Fri, 9 Jan 2026 17:46:32 +0000 (18:46 +0100)] 
DUALNUM: Improve/fix edge cases of unary minus.

Thanks to Sergey Kaplun. #1422 #1418

6 months agoMerge branch 'master' into v2.1
Mike Pall [Fri, 9 Jan 2026 16:37:57 +0000 (17:37 +0100)] 
Merge branch 'master' into v2.1

6 months agoFix minilua undefined behavior in bit.tohex.
Mike Pall [Fri, 9 Jan 2026 16:34:15 +0000 (17:34 +0100)] 
Fix minilua undefined behavior in bit.tohex.

Note: this is not a vulnerability! minilua is only used during the LuaJIT
build process. It only runs controlled and static Lua code (DynASM),
which is entirely contained within this repo and does not trigger the
undefined behavior.

This change is solely for the benefit of others, who might possibly use
minilua for purposes other than running DynASM.

Reported by quart27219. #1424

6 months agoMerge branch 'master' into v2.1
Mike Pall [Fri, 9 Jan 2026 16:27:35 +0000 (17:27 +0100)] 
Merge branch 'master' into v2.1

6 months agoIgnore PDB files for git.
Mike Pall [Fri, 9 Jan 2026 16:26:13 +0000 (17:26 +0100)] 
Ignore PDB files for git.

Thanks to Michael Fisher. #1423

6 months agoMerge branch 'master' into v2.1
Mike Pall [Fri, 9 Jan 2026 16:25:02 +0000 (17:25 +0100)] 
Merge branch 'master' into v2.1

6 months agoBump copyright date.
Mike Pall [Fri, 9 Jan 2026 16:18:03 +0000 (17:18 +0100)] 
Bump copyright date.

7 months agoFix string.format for limited precision FP conversions.
Mike Pall [Mon, 8 Dec 2025 21:18:40 +0000 (22:18 +0100)] 
Fix string.format for limited precision FP conversions.

Enforce round-to-even semantics. #1363

7 months agoPPC: Fix soft-float lj_num2u64().
Mike Pall [Sat, 6 Dec 2025 07:44:03 +0000 (08:44 +0100)] 
PPC: Fix soft-float lj_num2u64().

Reported by Doug Crawford. #1411

7 months agoARM64: More fixes for ARM BTI.
Mike Pall [Sat, 6 Dec 2025 07:42:18 +0000 (08:42 +0100)] 
ARM64: More fixes for ARM BTI.

Reported by Yuichiro Naito. #1415

7 months agoDUALNUM: Fix narrowing of unary minus.
Mike Pall [Sat, 6 Dec 2025 07:39:11 +0000 (08:39 +0100)] 
DUALNUM: Fix narrowing of unary minus.

Reported by Sergey Kaplun. #1418

7 months agoMerge branch 'master' into v2.1
Mike Pall [Sat, 6 Dec 2025 07:38:49 +0000 (08:38 +0100)] 
Merge branch 'master' into v2.1

7 months agoDUALNUM: Add missing type conversion for FORI slots.
Mike Pall [Sat, 6 Dec 2025 07:35:19 +0000 (08:35 +0100)] 
DUALNUM: Add missing type conversion for FORI slots.

Reported by Sergey Kaplun. #1413

7 months agoRemove pointless GCC/MSVC const function attributes.
Mike Pall [Mon, 1 Dec 2025 12:50:32 +0000 (13:50 +0100)] 
Remove pointless GCC/MSVC const function attributes.

They are only called from JIT-compiled code and not from C.
Reported by Richard Beckmann. #1414

7 months agoFix MSVC LJ_CONSTF declaration.
Mike Pall [Thu, 27 Nov 2025 19:04:42 +0000 (20:04 +0100)] 
Fix MSVC LJ_CONSTF declaration.

Reading MS docs is hard. #1412

7 months agoBack out MSVC LJ_CONSTF declaration.
Mike Pall [Thu, 27 Nov 2025 19:02:00 +0000 (20:02 +0100)] 
Back out MSVC LJ_CONSTF declaration.

The reason for the error message is still unclear. #1412.

7 months agoRemove compiler flag for FP conversions. Now unnecessary.
Mike Pall [Thu, 27 Nov 2025 16:48:44 +0000 (17:48 +0100)] 
Remove compiler flag for FP conversions. Now unnecessary.

Undo #1355. #1397 #1411

7 months agoUnify Lua number to FFI integer conversions.
Mike Pall [Thu, 27 Nov 2025 16:45:17 +0000 (17:45 +0100)] 
Unify Lua number to FFI integer conversions.

Phew. #1411

7 months agoARM64: Fix disassembly of certain sub-word-size loads/stores.
Mike Pall [Thu, 27 Nov 2025 15:39:15 +0000 (16:39 +0100)] 
ARM64: Fix disassembly of certain sub-word-size loads/stores.

8 months agoELF/Mach-O: Force default visibility for public API functions.
Mike Pall [Sun, 16 Nov 2025 18:41:51 +0000 (19:41 +0100)] 
ELF/Mach-O: Force default visibility for public API functions.

Thanks to Dymphna. #1409

8 months agoMerge branch 'master' into v2.1
Mike Pall [Sun, 16 Nov 2025 18:36:40 +0000 (19:36 +0100)] 
Merge branch 'master' into v2.1

8 months agox86/x64: Backport fix for math.min()/math.max() argument check.
Mike Pall [Sun, 16 Nov 2025 18:34:11 +0000 (19:34 +0100)] 
x86/x64: Backport fix for math.min()/math.max() argument check.

Reported by puffy.

8 months agoMerge branch 'master' into v2.1
Mike Pall [Fri, 14 Nov 2025 19:22:24 +0000 (20:22 +0100)] 
Merge branch 'master' into v2.1

8 months agoFix edge cases when generating IR for string.byte/sub/find.
Mike Pall [Fri, 14 Nov 2025 19:15:44 +0000 (20:15 +0100)] 
Fix edge cases when generating IR for string.byte/sub/find.

Contributed by XmiliaH. #1407

8 months agoMerge branch 'master' into v2.1
Mike Pall [Mon, 10 Nov 2025 17:18:19 +0000 (18:18 +0100)] 
Merge branch 'master' into v2.1

8 months agoFFI: Avoid dangling cts->L.
Mike Pall [Mon, 10 Nov 2025 17:15:11 +0000 (18:15 +0100)] 
FFI: Avoid dangling cts->L.

Reported by ZumiKua. #1405

8 months agoRun VM events and finalizers in separate state.
Mike Pall [Mon, 10 Nov 2025 17:11:26 +0000 (18:11 +0100)] 
Run VM events and finalizers in separate state.

Reported by Sergey Kaplun. #1403

8 months agomacOS: Change Mach-O object file layout required by XCode 15.0.
Mike Pall [Sat, 8 Nov 2025 15:54:00 +0000 (16:54 +0100)] 
macOS: Change Mach-O object file layout required by XCode 15.0.

Reported by George Zhao. #1404

8 months agoARM64: Enable unaligned accesses if indicated by the toolchain.
Mike Pall [Sat, 8 Nov 2025 14:41:42 +0000 (15:41 +0100)] 
ARM64: Enable unaligned accesses if indicated by the toolchain.

If you get a crash in jit_init() then you need to fix your toolchain.

8 months agoAllow mcode allocations outside of the jump range to the support code.
Mike Pall [Wed, 5 Nov 2025 23:42:02 +0000 (00:42 +0100)] 
Allow mcode allocations outside of the jump range to the support code.

Thank you for your patience. #285

8 months agoARM64: Fix disassembly of >2GB branch targets.
Mike Pall [Wed, 5 Nov 2025 23:30:22 +0000 (00:30 +0100)] 
ARM64: Fix disassembly of >2GB branch targets.

8 months agox64: Fix CET IBT.
Mike Pall [Wed, 29 Oct 2025 08:38:41 +0000 (09:38 +0100)] 
x64: Fix CET IBT.

Reported by Yuichiro Naito. #1400

8 months agoARM64: Fix ARM BTI.
Mike Pall [Wed, 29 Oct 2025 08:38:31 +0000 (09:38 +0100)] 
ARM64: Fix ARM BTI.

Reported by Yuichiro Naito. #1400

8 months agoWindows: Fix lua52compat option for msvcbuild.bat.
Mike Pall [Tue, 28 Oct 2025 03:59:18 +0000 (04:59 +0100)] 
Windows: Fix lua52compat option for msvcbuild.bat.

Thanks to Alex Orlenko. #1395 #1366

8 months agoARM64: Add support for ARM BTI.
Mike Pall [Tue, 28 Oct 2025 03:46:10 +0000 (04:46 +0100)] 
ARM64: Add support for ARM BTI.

Note: this is not enabled by default, look for CET in lj_arch.h.
Thanks to Yuichiro Naito. #1398

8 months agox64: Various fixes for CET IBT.
Mike Pall [Mon, 27 Oct 2025 23:27:15 +0000 (00:27 +0100)] 
x64: Various fixes for CET IBT.

Also add ELF notes. #1391

9 months agox64: Add support for CET IBT.
Mike Pall [Thu, 16 Oct 2025 12:24:52 +0000 (14:24 +0200)] 
x64: Add support for CET IBT.

Note: this is not enabled by default, look for CET in lj_arch.h
Contributed by Yuichiro Naito. #1391

9 months agoGracefully handle broken custom allocator.
Mike Pall [Thu, 16 Oct 2025 11:23:51 +0000 (13:23 +0200)] 
Gracefully handle broken custom allocator.

Reported by Alex Orlenko. #1393

9 months agoAdd GNU/Hurd build support.
Mike Pall [Thu, 16 Oct 2025 11:17:45 +0000 (13:17 +0200)] 
Add GNU/Hurd build support.

Note: this is not an officially supported target.
Contributed by Pino Toscano and Samuel Thibault. #1383 #1384

9 months agoFix io.write() of newly created buffer.
Mike Pall [Thu, 16 Oct 2025 11:13:51 +0000 (13:13 +0200)] 
Fix io.write() of newly created buffer.

Reported by vfprintf. #1386

9 months agoFix reporting of an error during error handling.
Mike Pall [Thu, 16 Oct 2025 11:11:02 +0000 (13:11 +0200)] 
Fix reporting of an error during error handling.

Reported by Sergey Kaplun. #1381

11 months agoWindows: Add lua52compat option to msvcbuild.bat.
Mike Pall [Thu, 24 Jul 2025 13:45:24 +0000 (15:45 +0200)] 
Windows: Add lua52compat option to msvcbuild.bat.

Thanks to Gil Reis. #1366

11 months agoMerge branch 'master' into v2.1
Mike Pall [Thu, 24 Jul 2025 13:41:35 +0000 (15:41 +0200)] 
Merge branch 'master' into v2.1

11 months agox86/x64: Don't use undefined MUL/IMUL zero flag.
Mike Pall [Thu, 24 Jul 2025 13:38:45 +0000 (15:38 +0200)] 
x86/x64: Don't use undefined MUL/IMUL zero flag.

Reported by VrIgHtEr. #1376

11 months agoAvoid out-of-range PC for stack overflow error from snapshot restore.
Mike Pall [Thu, 24 Jul 2025 13:35:56 +0000 (15:35 +0200)] 
Avoid out-of-range PC for stack overflow error from snapshot restore.

Reported by Sergey Kaplun. #1369

11 months agoFFI: Fix dangling CType references (again).
Mike Pall [Thu, 24 Jul 2025 13:29:54 +0000 (15:29 +0200)] 
FFI: Fix dangling CType references (again).

Reported by Sergey Kaplun. Collateral of #1360

13 months agoMerge branch 'master' into v2.1
Mike Pall [Wed, 28 May 2025 19:14:47 +0000 (21:14 +0200)] 
Merge branch 'master' into v2.1

13 months agoFix JIT slot overflow during up-recursion.
Mike Pall [Wed, 28 May 2025 19:13:17 +0000 (21:13 +0200)] 
Fix JIT slot overflow during up-recursion.

Reported by Sergey Kaplun. #1358

13 months agoMerge branch 'master' into v2.1
Mike Pall [Wed, 28 May 2025 19:06:44 +0000 (21:06 +0200)] 
Merge branch 'master' into v2.1

13 months agoAvoid out-of-range PC for stack overflow error from snapshot restore.
Mike Pall [Wed, 28 May 2025 19:02:31 +0000 (21:02 +0200)] 
Avoid out-of-range PC for stack overflow error from snapshot restore.

Reported by Sergey Kaplun. #1359

13 months agoMerge branch 'master' into v2.1
Mike Pall [Wed, 28 May 2025 18:39:05 +0000 (20:39 +0200)] 
Merge branch 'master' into v2.1

13 months agoFFI: Fix dangling CType references.
Mike Pall [Wed, 28 May 2025 18:36:24 +0000 (20:36 +0200)] 
FFI: Fix dangling CType references.

Reported by Sergey Kaplun. Collateral of #1360

15 months agoPrevent Clang UB 'optimization' which breaks integerness checks.
Mike Pall [Thu, 10 Apr 2025 20:53:50 +0000 (22:53 +0200)] 
Prevent Clang UB 'optimization' which breaks integerness checks.

Thanks to Kacper Michajłow. #1351 #1355