[FFmpeg-devel] [PATCH] remove MSVC cruft

Diego Biurrun diego
Tue Feb 12 09:14:10 CET 2008


On Tue, Feb 12, 2008 at 01:53:59AM +0100, Michael Niedermayer wrote:
> On Tue, Feb 12, 2008 at 12:55:15AM +0100, Diego Biurrun wrote:
> > On Sat, Feb 09, 2008 at 08:10:05PM +0100, Diego Biurrun wrote:
> > > On Sat, Feb 09, 2008 at 02:51:53PM +0100, Michael Niedermayer wrote:
> > > > On Sat, Feb 09, 2008 at 02:09:04PM +0100, Diego Biurrun wrote:
> > > > > On Sat, Feb 09, 2008 at 02:06:01PM +0100, Diego Biurrun wrote:
> > > > > > As noted by Reimar, the following two lines in libavutil/mem.h are
> > > > > > probably MSVC cruft:
> > > > > > 
> > > > > >   #define DECLARE_ALIGNED(n,t,v)      __declspec(align(n)) t v
> > > > > >   #define DECLARE_ASM_CONST(n,t,v)    __declspec(align(n)) static const
> > > > > > 
> > > > > > I suggest the attached patch removing them.
> > > > > 
> > > > > *sigh*
> > > > 
> > > > I am against it.
> > > > 
> > > > it rather should be
> > > > #elif HAVE_DECLSPEC
> > > > #define DECLARE_ALIGNED(n,t,v)      __declspec(align(n)) t v
> > > > #define DECLARE_ASM_CONST(n,t,v)    __declspec(align(n)) static const t v
> > > > #else
> > > > #warning no align and asm directives, this might fail
> > > > #define DECLARE_ALIGNED(n,t,v)      t v
> > > > #define DECLARE_ASM_CONST(n,t,v)    static const t v
> > > > #endif
> > > > 
> > > > There are people who maintain a hacked up version of ffmpeg which does
> > > > compile under msvc. Theres no need to make their work harder by removing
> > > > clean and seperated code. Its only the messy parts which we should reject.
> > > 
> > > These two lines do not help them.  Also, this code is not clean and
> > > separated, it is the fallback when __GNUC__ is not defined.  So anybody
> > > trying compiler X will run into problems.  I don't see anybody coming
> > > up with a proper configure check.  Until then these lines do more harm
> > > than good and should IMO be removed.
> > 
> > May I insist here?  The fallback case should definitely not be MSVC,
> > i.e. an unsupported and non-standards-compliant compiler.
> 
> I dont see what you complain about.

I complain about having MSVC be the fallback case, a compiler we
actively decided to discontinue supporting.

> #ifdef GNUBLAH
> ...
> #elif HAVE_DECLSPEC
> #define DECLARE_ALIGNED(n,t,v)      __declspec(align(n)) t v
> #define DECLARE_ASM_CONST(n,t,v)    __declspec(align(n)) static const t v
> #else
> #warning no align and asm directives, this might fail
> #define DECLARE_ALIGNED(n,t,v)      t v
> #define DECLARE_ASM_CONST(n,t,v)    static const t v
> #endif
> 
> As i suggested would change the default/fallback to normal C. There is nothing
> in the code that would require a change to configure. Nothing will blow up
> if HAVE_DECLSPEC is not defined.

Nothing will blow up if we remove the __declspec lines either.
Pretending that we support MSVC syntax is misleading.  I am against
using HAVE_ definitions in the code which configure does not set.

Diego




More information about the ffmpeg-devel mailing list