Hi,

> > This patch may fix vc++, but breaks all other platforms
> > because it moves ATTR_ALIGN which is used in different
> > places.
> It certainly shouldn't, the patch replaces ATTR_ALIGN
> taking 2 parameters which only works with gcc with
> DECLARE_ALIGNED which takes 3 parameters and supports
> both gcc and msvc syntax and also replaces all occurrences
> of ATTR_ALIGNED with DECLARE_ALIGNED.
Er, not quite ;)
After applying your patch, I can count 57 remaining occurrences
of ATTR_ALIGNED, in the following files:
include/mmx.h
include/sse.h
libmpeg2/convert/rgb.c
libmpeg2/convert/rgb_vis.c
libmpeg2/idct_altivec.c
libmpeg2/idct_mmx.c
libmpeg2/motion_comp_vis.c

You need to change those too, otherwise libmpeg2 cannot be built
with either MSVC or GCC.


Apart from that, I'd surround the GCC-specific declaration of
DECLARE_ALIGNED by a #ifdef __GNUC__, like this:

/* use GCC and MSVC attribs to align critical data structures */
#if (defined(ATTRIBUTE_ALIGNED_MAX) && defined(__GNUC__))
#define DECLARE_ALIGNED(n,t,v) ...

(Note that I updated the comment as well)


Regards, Lionel Debroux.

__________________________________________________
Do You Yahoo!?
En finir avec le spam? Yahoo! Mail vous offre la meilleure protection possible 
contre les messages non sollicités 
http://mail.yahoo.fr Yahoo! Mail 

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Libmpeg2-devel mailing list
Libmpeg2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmpeg2-devel

Reply via email to