[FFmpeg-devel] [PATCH] avutil/mem_internal: Don't use alignas for MSVC
Zhao Zhili
quinkblack at foxmail.com
Mon Dec 2 12:27:16 EET 2024
> On Dec 2, 2024, at 00:53, James Almer <jamrial at gmail.com> wrote:
>
> On 11/30/2024 6:13 AM, Zhao Zhili wrote:
>> From: Zhao Zhili <zhilizhao at tencent.com>
>> MSVC messed up standard C features, again.
>> ---
>> libavutil/mem_internal.h | 4 ++++
>> 1 file changed, 4 insertions(+)
>> diff --git a/libavutil/mem_internal.h b/libavutil/mem_internal.h
>> index 249ec3a642..2eb4aef5b0 100644
>> --- a/libavutil/mem_internal.h
>> +++ b/libavutil/mem_internal.h
>> @@ -78,6 +78,10 @@
>> #define DECLARE_ALIGNED_T(n,t,v) alignas(FFMIN(n, 16)) t v
>> #define DECLARE_ASM_ALIGNED(n,t,v) alignas(FFMIN(n, 16)) t av_used v
>> #define DECLARE_ASM_CONST(n,t,v) alignas(FFMIN(n, 16)) static const t av_used v
>> +#elif defined(_MSC_VER)
>> + #define DECLARE_ALIGNED_T(n,t,v) __declspec(align(n)) t v
>> + #define DECLARE_ASM_ALIGNED(n,t,v) __declspec(align(n)) t v
>> + #define DECLARE_ASM_CONST(n,t,v) __declspec(align(n)) static const t v
>> #else
>> #define DECLARE_ALIGNED_T(n,t,v) alignas(n) t v
>> #define DECLARE_ASM_ALIGNED(n,t,v) alignas(n) t av_used v
>
> Ok.
I have tested with different msvc version on godbolt.org <http://godbolt.org/>.
MSVC v19.25 VS16.5 and below doesn’t support alignas.
Since v19.25 VS16.7 the build seems fine. And fate-test on my machine with VS2022 have no problem.
Does anyone get other problems with MSVC alignas support?
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list