Change #232160
Category | ffmpeg |
Changed by | Martin Storsjö <martin | @martin.st>
Changed at | Fri 13 Jun 2025 10:36:20 |
Repository | https://git.ffmpeg.org/ffmpeg.git |
Project | ffmpeg |
Branch | master |
Revision | fb65ecbc9b805571e5ff707b935c343803137e54 |
Comments
avutil: Fix linking x86 asm constants with Clang in MSVC mode This fixes building with Clang in MSVC mode, for x86, which was broken in 6e49b8699657b808b7dc80033f2c3f2d0e029fa3 (in Nov 2024); previously it failed with undefined symbols for the constants defined with DECLARE_ASM_CONST, accessed via inline assembly. Before 57861911a34e1c33796be97f2b2f44e05fffd647, there was an #elif defined(__GNUC__) || defined(__clang__) case before the #elif defined(_MSC_VER) case for defining DECLARE_ASM_CONST, which included av_used. (This case included the explicit "defined(__clang__)" since f637046d3134a331e4b5a7243ac3dfb92735b8a5.) After 57861911a34e1c33796be97f2b2f44e05fffd647, it used the generic definition of DECLARE_ASM_CONST that also included av_used - which also worked for Clang in MSVC mode. But after 6e49b8699657b808b7dc80033f2c3f2d0e029fa3, Clang in MSVC mode ended up using the MSVC specific variant which lacked the av_used declaration, causing linker errors due to undefined symbols. Signed-off-by: Martin Storsjö <martin@martin.st>
Changed files
- libavutil/mem_internal.h