Mike Pall
113a168b79
Improve last commit.
2023-11-12 16:11:11 +01:00
Mike Pall
45c88b7963
x86/x64: Don't fuse loads across table.clear.
...
Reported by Peter Cawley. #1117
2023-11-12 15:41:52 +01:00
Mike Pall
6807e60af1
Merge branch 'master' into v2.1
2023-11-12 15:25:14 +01:00
Mike Pall
d854d00ce9
x86/x64: Add more red zone checks to assembler backend.
...
Thanks to Peter Cawley. #1116
2023-11-12 15:18:44 +01:00
Mike Pall
7c9671a043
Merge branch 'master' into v2.1
2023-11-12 15:11:29 +01:00
Mike Pall
a4c1640432
Add stack check to pcall/xpcall.
...
Analyzed by Peter Cawley. #1048
2023-11-12 14:42:24 +01:00
Mike Pall
69bbbf7736
Merge branch 'master' into v2.1
2023-11-09 11:05:27 +01:00
Mike Pall
65c8493907
Invalidate SCEV entry when returning to lower frame.
...
Thanks to Zhongwei Yao. #1115
2023-11-09 11:02:36 +01:00
Mike Pall
b94fbfbee9
Merge branch 'master' into v2.1
2023-11-07 22:28:53 +01:00
Mike Pall
433d7e8d8d
FFI: Fix pragma push stack limit check and throw on overflow.
...
Reported by Sergey Kaplun. #1114
2023-11-07 22:25:42 +01:00
Mike Pall
ce2cd61739
ARM64: Fix disassembly of ldp/stp offsets.
...
Thanks to Peter Cawley. #1113
2023-11-06 23:14:22 +01:00
Mike Pall
07b3cd3cf9
Check for upvalue state transition in IR_UREFO.
...
Thanks to Peter Cawley. #1085
2023-11-05 16:34:46 +01:00
Mike Pall
0afa1676b2
Merge branch 'master' into v2.1
2023-11-05 11:37:57 +01:00
Mike Pall
d133d67c88
x64: Properly fix __call metamethod return dispatch.
...
Reported by Sergey Kaplun. #1110
2023-11-05 11:31:08 +01:00
Mike Pall
f2e955dae8
Windows/x86: _BitScan*64 are only available on 64 bit archs.
...
Reported by memcorrupt. #1109
2023-11-05 11:27:35 +01:00
Mike Pall
e826d0c101
Add 'cc' file type for saving bytecode.
...
Contributed by Sergey Bronnikov. #1105
2023-10-21 13:31:45 +02:00
Mike Pall
4eb47df605
FFI/Windows: Fix type declaration for int64_t and uint64_t.
...
Thanks to Peter Cawley. #1106
2023-10-21 13:18:51 +02:00
Mike Pall
7269b02130
Merge branch 'master' into v2.1
2023-10-21 13:13:34 +02:00
Mike Pall
db944b2b56
FFI: Fix dangling reference to CType in carith_checkarg().
...
Reported by Sergey Kaplun. #1108
2023-10-21 13:11:50 +02:00
Mike Pall
d2a5487fd7
ARM64: Use ADR and ADRP to form constants.
...
Thanks to Peter Cawley. #1100
2023-10-08 22:10:02 +02:00
Mike Pall
14866a6828
ARM64: Fix disassembly of U12 loads.
...
Thanks to Peter Cawley. #1100
2023-10-08 21:57:04 +02:00
Mike Pall
c5b075eb31
ARM64: Unify constant register handling in interpreter.
...
Plus minor optimizations. Simplifications for out-of-tree ARM64EC.
Thanks to Peter Cawley. #1096
2023-10-08 21:39:40 +02:00
Mike Pall
9cc8bbb7ae
ARM: Fix register hint for FFI calls with FP results.
2023-10-08 21:22:50 +02:00
Mike Pall
1e93951b25
ARM64: Fix register hint for FFI calls with FP results.
...
Thanks to Peter Cawley. #1096
2023-10-08 21:20:10 +02:00
Mike Pall
007e4dce13
ARM64: Restore fp before sp in C stack unwinders.
...
Thanks to Peter Cawley. #1096
2023-10-08 21:17:43 +02:00
Mike Pall
becf5cc65d
FFI: Fix ffi.abi("pauth").
...
Thanks to Peter Cawley. #1098
2023-09-25 16:56:17 +02:00
Mike Pall
97c75843c6
Merge branch 'master' into v2.1
2023-09-22 21:07:20 +02:00
Mike Pall
f72c19e482
Maintain chain invariant in DCE.
...
Thanks to Peter Cawley. #1094
2023-09-22 21:04:22 +02:00
Mike Pall
d1a2fef8a8
LJ_FR2: Fix stack checks in vararg calls.
...
Thanks to Peter Cawley. #1048
2023-09-21 05:19:55 +02:00
Mike Pall
234dbc481e
Merge branch 'master' into v2.1
2023-09-21 04:44:37 +02:00
Mike Pall
aa6b15c1a8
Follow-up fix for stack overflow handling cleanup.
2023-09-21 04:43:40 +02:00
Mike Pall
a5d2f70c73
Handle OOM error on stack resize in coroutine.resume and lua_checkstack.
...
Thanks to Peter Cawley. #1066
2023-09-21 04:40:48 +02:00
Mike Pall
e86990f7f2
Restore cur_L for specific Lua/C API use case.
...
Thanks to Peter Cawley. #1066
2023-09-21 03:54:08 +02:00
Mike Pall
b8919781d4
Consistently use 64 bit constants for 64 bit IR instructions.
...
Thanks to Peter Cawley. #1084
2023-09-21 03:46:33 +02:00
Mike Pall
9159289927
ARM64: Fix IR_HREF code generation for constant FP keys.
...
Reported by swarn. Fix for 435d8c63
by Peter Cawley. #1090
2023-09-21 02:48:12 +02:00
Mike Pall
fca1f51bf8
ARM64: Fuse negative 32 bit constants into arithmetic ops again.
...
Thanks to Peter Cawley. #1065
2023-09-21 02:38:29 +02:00
Mike Pall
4b605a7da8
Merge branch 'master' into v2.1
2023-09-21 02:23:25 +02:00
Mike Pall
b138ccfa91
Handle all stack layouts in (delayed) TRACE vmevent.
...
Thanks to Sergey Bronnikov and Peter Cawley. #1087
2023-09-21 02:15:16 +02:00
Mike Pall
92b89d005a
Add missing coercion when recording select(string, ...)
...
Thanks to Peter Cawley. #1083
2023-09-21 02:10:18 +02:00
Mike Pall
d2f6c55b05
Cleanup stack overflow handling.
...
Reported by Peter Cawley. #962
2023-09-21 01:58:43 +02:00
Mike Pall
e897c5743f
Windows/ARM64: Add MSVC cross-build support for x64 to ARM64.
...
Thanks to invertego. #1081
2023-09-17 10:44:04 +02:00
Mike Pall
7a2b83a0c5
IR_MIN/IR_MAX is non-commutative due to underlying FPU ops.
...
Thanks to Peter Cawley. #1082
2023-09-17 10:31:00 +02:00
Mike Pall
42ca6e120f
ARM64: Set fixed interpreter registers before rethrow.
...
Thanks to Peter Cawley. #593
2023-09-17 10:09:58 +02:00
Mike Pall
bd2d107151
Windows: Call C++ destructors without compiling with /EHa.
...
Thanks to Peter Cawley. #593
2023-09-15 05:47:29 +02:00
Mike Pall
7a1c139569
Windows: Pass scratch CONTEXT record to RtlUnwindEx.
...
Thanks to Peter Cawley. #593
2023-09-15 05:31:26 +02:00
Mike Pall
18b8fd8de7
ARM64: External unwinder already restores non-volatile registers.
...
Thanks to Peter Cawley. #593
2023-09-15 05:27:29 +02:00
Mike Pall
b36f9fad63
Windows/ARM64: Fix exception unwinding (again).
...
Thanks to Peter Cawley. #593
2023-09-15 05:23:29 +02:00
Mike Pall
8af63f9920
Windows/ARM64: Fix typo in exception unwinding.
...
Thanks to Peter Cawley. #593
2023-09-11 23:00:36 +02:00
Mike Pall
9e0437240f
FFI: Fix 64 bit shift fold rules.
...
Thanks to Peter Cawley. #1079
2023-09-11 21:06:25 +02:00
Mike Pall
1c33f46314
Windows/ARM64: Support Windows calling conventions.
...
Dear Microsoft: your butchering of the (perfectly fine) ARM64 ABI is a disgrace.
Thanks to Peter Cawley. #593
2023-09-11 16:35:28 +02:00
Mike Pall
f63bc569fa
Windows/ARM64: Fix exception unwinding.
...
Thanks to Peter Cawley. #593
2023-09-11 13:33:27 +02:00
Mike Pall
836ab4227a
ARM64: Remove unneeded IRCALL_* defs for math intrinsics.
...
Workaround for MSVC issue.
Thanks to Peter Cawley. #593
2023-09-11 13:14:09 +02:00
Mike Pall
b174d5e66d
Fix Cygwin build.
...
Thanks to Christopher Ng. #1077 #1078
2023-09-11 13:10:17 +02:00
Mike Pall
5a18d4582f
Merge branch 'master' into v2.1
2023-09-10 05:26:27 +02:00
Mike Pall
9760984638
Allow path overrides in genversion.lua with minilua, too.
...
Thanks to arch1t3cht. #1067
2023-09-10 05:23:10 +02:00
Mike Pall
cb413bf8f4
Windows/ARM64: Add initial support.
...
Only builds with native ARM64 Visual Studio for now.
Thanks to vanc and Stephen Just. #593 #964
2023-09-10 05:20:22 +02:00
Mike Pall
566532b807
Merge branch 'master' into v2.1
2023-09-09 23:20:57 +02:00
Mike Pall
4fe2002292
Improve architecture detection error messages.
2023-09-09 23:01:26 +02:00
Mike Pall
4611e25c0f
ARM64: Fuse rotates into logical operands.
...
Thanks to Peter Cawley. #1076
2023-09-09 20:59:18 +02:00
Mike Pall
90742d91c2
ARM64: Don't fuse sign extensions into logical operands.
...
Thanks to Peter Cawley. #1076
2023-09-09 20:57:46 +02:00
Mike Pall
ba2b34f5e8
ARM64: Disassemble rotates on logical operands.
...
Thanks to Peter Cawley. #1076
2023-09-09 20:52:02 +02:00
Mike Pall
f442432ecb
Merge branch 'master' into v2.1
2023-09-09 18:18:48 +02:00
Mike Pall
44da356e97
ARM: Fix stack check code generation.
...
Thanks to Peter Cawley. #1068
2023-09-09 18:16:31 +02:00
Mike Pall
b8c6ccd50c
ARM64: Fix LDP/STP fusion (again).
...
Reported and analyzed by Zhongwei Yao. Fix by Peter Cawley. #1075
2023-09-09 18:01:37 +02:00
Mike Pall
0705ef6ce4
ARM64: Ensure branch is in range before emitting TBZ/TBNZ.
...
Thanks to Peter Cawley. #1074
2023-09-09 17:52:43 +02:00
Mike Pall
59be97edb6
Merge branch 'master' into v2.1
2023-09-09 17:46:10 +02:00
Mike Pall
43eff4aad4
Fix mcode limit check for non-x86 archs.
...
Thanks to Peter Cawley.
2023-09-09 17:44:54 +02:00
Mike Pall
de2e09f54c
ARM64: Improve BC_JLOOP.
...
Thanks to Peter Cawley. #1070
2023-09-09 17:38:44 +02:00
Mike Pall
6c599960d1
ARM64: Improve integer IR_MUL code generation.
...
Thanks to Peter Cawley. #1070
2023-09-09 17:36:40 +02:00
Mike Pall
4ed83bd990
ARM64: Simplify code generation for IR_STRTO.
...
Thanks to Peter Cawley. #1070
2023-09-09 17:34:28 +02:00
Mike Pall
a5ee35867c
ARM64: Use RID_TMP instead of scratch register in more places.
...
Thanks to Peter Cawley. #1070
2023-09-09 17:31:06 +02:00
Mike Pall
c1877e648a
ARM64: Improve IR_OBAR code generation.
...
Thanks to Peter Cawley. #1070
2023-09-09 17:21:32 +02:00
Mike Pall
c2bdce399e
ARM64: Improve IR_UREF code generation.
...
Thanks to Peter Cawley. #1070
2023-09-09 17:19:02 +02:00
Mike Pall
435d8c6301
ARM64: Improve IR_HREF code generation.
...
Thanks to Peter Cawley. #1070
2023-09-09 17:15:26 +02:00
Mike Pall
315dc3e776
ARM64: Reload BASE via GL instead of spilling it.
...
Thanks to Peter Cawley. #1068 .
2023-09-09 16:56:16 +02:00
Mike Pall
5149b0a3a2
ARM64: Consolidate 32/64-bit constant handling in assembler.
...
Thanks to Peter Cawley. #1065
2023-09-09 16:30:14 +02:00
Mike Pall
dfc122e45c
ARM64: Tune emit_lsptr. Avoid wrong load for asm_prof.
...
Thanks to Peter Cawley. #1065
2023-09-09 14:20:39 +02:00
Mike Pall
4651ff2fbc
ARM64: Inline only use of emit_loada.
...
Thanks to Peter Cawley. #1065
2023-09-09 14:15:18 +02:00
Mike Pall
9daf9f9003
ARM64: Improve K13 constant rematerialization.
...
Algorithm by Dougall Johnson: https://dougallj.wordpress.com/2021/10/30/
Thanks to Peter Cawley. #1065
2023-09-09 14:11:25 +02:00
Mike Pall
9bd2404137
Merge branch 'master' into v2.1
2023-09-09 13:42:12 +02:00
Mike Pall
7f9907b4ed
Add NaN check to IR_NEWREF.
...
Thanks to Peter Cawley. #1069
2023-09-09 13:37:31 +02:00
Mike Pall
cc8d88aafc
Merge branch 'master' into v2.1
2023-09-09 12:50:13 +02:00
Mike Pall
4d05806ae0
Allow override of paths for genversion.lua.
...
Thanks to arch1t3cht. #1067
2023-09-09 12:47:27 +02:00
Mike Pall
19707009bf
Fix native MinGW build.
...
Thanks to Victor Bombi. #1071
2023-09-09 12:41:47 +02:00
Mike Pall
41fb94defa
Add randomized register allocation for fuzz testing.
...
This must be explicitly enabled with: -DLUAJIT_RANDOM_RA
Thanks to Peter Cawley. #1062
2023-08-30 01:10:52 +02:00
Mike Pall
2f6c451ce8
ARM64: Improve register allocation for integer IR_MUL/IR_MULOV.
...
Thanks to Peter Cawley. #1062
2023-08-29 22:38:20 +02:00
Mike Pall
7ff8f26eb8
ARM64: Fix register allocation for IR_*LOAD.
...
Thanks to Peter Cawley. #1062
2023-08-29 22:35:10 +02:00
Mike Pall
356231edaf
Merge branch 'master' into v2.1
2023-08-29 22:30:57 +02:00
Mike Pall
c6ee7e19d1
Update external MSDN URL in code.
...
Thanks to Kyle Marshall. #1060
2023-08-29 22:27:38 +02:00
Mike Pall
83954100db
FFI/ARM64/OSX: Handle non-standard OSX C calling conventions.
...
Contributed by Peter Cawley. #205
2023-08-29 02:21:51 +02:00
Mike Pall
cf903edb30
FFI: Unify stack setup for C calls in interpreter.
2023-08-29 02:12:13 +02:00
Mike Pall
7cc53f0b85
ARM64: Prevent STP fusion for conditional code emitted by TBAR.
...
Thanks to Peter Cawley. #1057
2023-08-28 22:39:35 +02:00
Mike Pall
0fa2f1cbcf
ARM64: Fix LDP/STP fusing for unaligned accesses.
...
Thanks to Peter Cawley. #1056
2023-08-28 22:33:54 +02:00
Mike Pall
c0d5240a25
Merge branch 'master' into v2.1
2023-08-28 22:24:36 +02:00
Mike Pall
0ef51b495f
Handle table unsinking in the presence of IRFL_TAB_NOMM.
...
Reported by Sergey Kaplun. #1052
2023-08-28 22:15:42 +02:00
Mike Pall
238a2a80bb
Merge branch 'master' into v2.1
2023-08-28 22:02:06 +02:00
Mike Pall
6a3111a57f
Use fallback name for install files without valid .git or .relver.
2023-08-28 21:25:51 +02:00
Mike Pall
a0b52aae33
Handle non-.git checkout with .relver in .bat-file builds.
...
Thanks to Simon Cooke.
2023-08-28 21:59:01 +02:00
Mike Pall
631a45f73b
Merge branch 'master' into v2.1
2023-08-28 21:08:00 +02:00
Mike Pall
14e2917e7a
Fix external C call stack check when using LUAJIT_MODE_WRAPCFUNC.
...
Thanks to Peter Cawley. #1047
2023-08-28 21:04:01 +02:00
Mike Pall
309fb42b87
Fix predict_next() in parser (again).
...
Reported by Sergey Bronnikov. #1054
2023-08-28 21:00:37 +02:00
Mike Pall
ff192d134d
Merge branch 'master' into v2.1
2023-08-22 17:06:14 +02:00
Mike Pall
d0ce82ecdc
Handle the case when .git is not a directory.
...
Thanks to Alexander Shpilkin.
2023-08-22 17:04:22 +02:00
Mike Pall
54ef81f864
Merge branch 'master' into v2.1
2023-08-21 13:09:52 +02:00
Mike Pall
ed21acd863
Fix Windows build scripts for rolling releases.
...
Reported by Miku AuahDark.
2023-08-21 13:08:00 +02:00
Mike Pall
3c290f817f
Merge branch 'master' into v2.1
2023-08-21 04:03:25 +02:00
Mike Pall
6351abc78f
Switch MSVC and console build scripts to rolling releases.
2023-08-21 03:59:03 +02:00
Mike Pall
2090842410
Merge branch 'master' into v2.1
2023-08-21 03:18:35 +02:00
Mike Pall
50e0fa03c4
Switch build system to rolling releases.
2023-08-21 03:06:26 +02:00
Mike Pall
ef587afb2c
Merge branch 'master' into v2.1
2023-08-20 21:33:37 +02:00
Mike Pall
158a284cc9
Bump copyright date.
2023-08-20 21:25:30 +02:00
Mike Pall
72efc42ef2
MIPS: Fix "bad FP FLOAD" assertion.
...
Reported by Sergey Kaplun. #1043
2023-08-13 03:02:25 +02:00
Mike Pall
119fd1fab0
Ensure forward progress on trace exit to BC_ITERN.
...
Also use a safer way to force a static dispatch for BC_RET*.
Reported by Bartel Eerdekens. Analyzed by Peter Cawley. #1000 #1045
2023-08-13 02:25:12 +02:00
Mike Pall
27af72e66f
ARM64: Add support for ARM64e pointer authentication codes (PAC).
...
Contributed by Peter Cawley. #559
2023-08-12 22:25:40 +02:00
Mike Pall
dbed79ea5c
Merge branch 'master' into v2.1
2023-08-12 22:20:33 +02:00
Mike Pall
abb27c7771
Fix maxslots when recording BC_VARG, part 3.
...
Thanks to Peter Cawley. #1046
2023-08-12 20:16:56 +02:00
Mike Pall
caf7cbc57c
Fix predict_next() in parser.
...
Reported by Sergey Kaplun. #1033
2023-08-12 16:21:41 +02:00
Mike Pall
9b544c25ef
MIPS32: Declare that the assembler part uses the FR=0 model.
...
Thanks to Peter Cawley. #1040
2023-08-12 15:02:51 +02:00
Mike Pall
93ce12ee15
ARM64: Fix assembly of HREFK (again).
...
Thanks to Peter Cawley. #1026
2023-08-12 14:52:48 +02:00
Mike Pall
d5bbf9cdb4
Fix frame for more types of on-trace error messages.
...
Thanks to Maxim Kokryashkin. #1034
2023-08-12 14:48:34 +02:00
Mike Pall
165ea18b0e
Add workaround for bytecode dump of builtins.
...
Reported by Hang Zhou. Thanks to Sergey Kaplun. #1038
2023-08-12 14:37:35 +02:00
Mike Pall
8635cbabf3
Merge branch 'master' into v2.1
2023-07-12 22:34:46 +02:00
Mike Pall
aa2db7ebd1
Fix base register coalescing in side trace.
...
Thanks to Sergey Kaplun, NiLuJe and Peter Cawley. #1031 #1016
2023-07-12 21:56:17 +02:00
Mike Pall
8fbd576fb9
ARM64: Fix assembly of HREFK.
...
Reported by caohongqing. #1026
Fix contributed by Peter Cawley.
2023-07-09 21:15:01 +02:00
Mike Pall
bd55d3023f
Merge branch 'master' into v2.1
2023-07-09 21:09:21 +02:00
Mike Pall
a01cba9d2d
Fix maxslots when recording BC_VARG, part 2.
...
Analyzed by Sergey Kaplun. #1024
2023-07-09 21:08:12 +02:00
Mike Pall
0cc5fdfbc0
Fix maxslots when recording BC_TSETM.
...
Analyzed by Sergey Kaplun. #1025
2023-07-08 19:44:48 +02:00
Mike Pall
69dadad6c3
Merge branch 'master' into v2.1
2023-07-08 19:43:08 +02:00
Mike Pall
94ada59628
Fix maxslots when recording BC_VARG.
...
Analyzed by Sergey Kaplun. #1024
2023-07-08 19:40:12 +02:00
Mike Pall
b7a8c7c184
Fix register mask for stack check in head of side trace.
...
Analyzed by Sergey Kaplun. #1016
2023-07-08 19:36:24 +02:00
Mike Pall
4c35a42d9c
FFI: Fix ffi.metatype() for non-raw types.
...
Reported by 999pingGG. #1005
2023-07-08 19:30:56 +02:00
Mike Pall
9493acc1a2
ARM64: Fix LDP code generation.
...
Thanks to Zhongwei Yao. #1028
2023-07-08 12:10:18 +02:00
Mike Pall
2d8300c194
Fix frame for on-trace out-of-memory error.
...
Reported by ruidong007.
2023-06-02 11:42:58 +02:00
Mike Pall
8e53ccc686
Merge branch 'master' into v2.1
2023-06-02 11:42:24 +02:00
Mike Pall
9f452bbef5
Fix handling of instable types in TNEW/TDUP load forwarding.
...
Analyzed by Sergey Kaplun. #994
2023-06-02 11:38:45 +02:00
Mike Pall
8c20c3b1a3
Fix compiler warning.
...
Reported by Myriachan.
2023-06-02 11:36:24 +02:00
Mike Pall
224129a8e6
Fix last commit.
...
Reported by PluMGMK.
2023-04-30 13:38:29 +02:00
Mike Pall
1c27912705
Print errors from __gc finalizers instead of rethrowing them.
...
Finalizers are not supposed to throw errors -- this is undefined behavior.
Lua 5.1 - 5.3 and (previously) LuaJIT rethrow the error. This randomly
breaks some unrelated code that just happens to do an allocation. Bad.
Lua 5.4 catches the error and emits a warning instead. But warnings are
not enabled by default, so it fails silently. Even worse.
LuaJIT (now) catches the error and emits a VM event. The default event
handler function prints "ERROR in finalizer: ...".
Set a custom handler function with: jit.attach(handler, "errfin")
2023-04-16 18:13:48 +02:00
Mike Pall
8bbd58e534
Merge branch 'master' into v2.1
2023-04-16 13:29:58 +02:00
Mike Pall
c7db8255e1
Fix TDUP load forwarding after table rehash.
...
Reported by Sergey Kaplun. #980
2023-04-16 13:26:18 +02:00
Mike Pall
96fc114a7a
Fix canonicalization of +-0.0 keys for IR_NEWREF.
...
Reported by Sergey Kaplun. #981
2023-04-16 13:24:08 +02:00
Mike Pall
505e2c03de
Merge branch 'master' into v2.1
2023-02-21 17:07:37 +01:00
Mike Pall
8135de2a02
Improve error reporting on stack overflow.
...
Thanks to Nicolas Lebedenco.
2023-02-21 17:05:12 +01:00
Mike Pall
eccdf6d6f8
Merge branch 'master' into v2.1
2023-02-21 16:54:04 +01:00
Mike Pall
126526ab93
Allow building sources with mixed LF/CRLF line-endings.
...
Reported by mgood7123.
2023-02-21 16:49:51 +01:00
Mike Pall
d0e88930dd
Fix compiler warning.
...
Reported by Christopher Ng.
2023-01-04 10:44:18 +01:00
Mike Pall
a4f4f5b835
Don't fail for Clang builds, which pretend to be an ancient GCC.
...
Reported by pkubaj.
2023-01-04 10:30:59 +01:00
Mike Pall
a04480e311
Merge branch 'master' into v2.1
2022-12-22 00:52:04 +01:00
Mike Pall
8a5e398c52
Avoid negation of signed integers in C that may hold INT*_MIN.
...
Reported by minoki.
Recent C compilers 'take advantage' of the undefined behavior.
This completely changes the meaning of expressions like (k == -k).
2022-12-22 00:03:06 +01:00
Mike Pall
8625eee71f
Merge branch 'master' into v2.1
2022-12-09 00:21:40 +01:00