Files
ffmpeg/compat
Kacper Michajłow 8a1feb3c70 compat/atomics: store pointers through the exchange on MSVC for ARM before 19.44
The alias analysis of MSVC for ARM and ARM64 before 19.44 does not track
a pointer that is converted to an integer for the __iso_volatile_store
and __stlr intrinsics, so the stores initializing the pointed-to object
are eliminated as dead. Storing the address of an automatic array into
an atomic pointer and reading through it afterwards then reads
uninitialized stack. The stdatomic.h of /experimental:c11atomics
generates the same code, 19.44 is the first version without the bug.
The interlocked exchange is not affected, and with its result unused it
compiles to the same store as a plain store would without the bug.

Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
2026-09-14 04:35:12 +02:00
..
2026-09-12 23:52:20 +00:00
2025-08-03 13:48:47 +02:00
2025-08-14 00:08:10 +00:00