On Sun, Jun 12, 2022 at 10:17 AM Soft Works <softwo...@hotmail.com> wrote: > > > > > -----Original Message----- > > From: ffmpeg-devel <ffmpeg-devel-boun...@ffmpeg.org> On Behalf Of > > Andreas Rheinhardt > > Sent: Sunday, June 12, 2022 7:28 AM > > To: ffmpeg-devel@ffmpeg.org > > Cc: Andreas Rheinhardt <andreas.rheinha...@outlook.com> > > Subject: [FFmpeg-devel] [PATCH] all: Replace if (ARCH_FOO) checks by > > #if ARCH_FOO > > > > This is more spec-compliant because it does not rely > > on dead-code elimination by the compiler. Especially > > MSVC has problems with this, as can be seen in > > https://ffmpeg.org/pipermail/ffmpeg-devel/2022-May/296373.html > > or > > https://ffmpeg.org/pipermail/ffmpeg-devel/2022-May/297022.html > > > > This commit does not eliminate every instance where we rely > > on the dead code elimination: It only tackles branching to > > the initialization of arch-specific dsp code, not e.g. all > > uses of CONFIG_ and HAVE_ checks. But maybe it is already > > enough to compile FFmpeg with MSVC with whole-programm-optimizations > > enabled (if one does not disable too many components). > > > > Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@outlook.com> > > --- > > LGTM. > > It's not really a story as simple as "poor MSVC is unable > to perform dead-code-elimination". It is actually capable to do that, > but the ffmpeg code was not only requiring the compiler to eliminate > dead code, it actually required a compiler to ignore dead code blocks > even when those would contain invalid code that cannot be compiled > at all.
This is inaccurate. This code can compile just fine. It is linking that fails, because the functions are not generated, which would not be a problem if it is removed as part of DCE before the linking stage. - Hendrik _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".