[Ffmpeg-devel] [RFC] VC1 Transform in AltiVec

Måns Rullgård mru
Wed Jul 19 08:16:30 CEST 2006


Rich Felker <dalias at aerifal.cx> writes:

> On Wed, Jul 19, 2006 at 07:23:59AM +0300, Kostya wrote:
>> > > +#define TRANSPOSE8(a,b,c,d,e,f,g,h) \
>> > > +do { \
>> > > +    __typeof__(a)  _A1, _B1, _C1, _D1, _E1, _F1, _G1, _H1; \
>> > > +    __typeof__(a)  _A2, _B2, _C2, _D2, _E2, _F2, _G2, _H2; \
>> > 
>> > stuff beginning with _ is reserved in C ...
>>  
>> As I stated that's not my code. And looks like it is used to declare variables with the same type
>> as macro arguments.
>
> IMO if we're going to use this hideous "typeof" gcc extension, we
> should just use "typeof" rather than "__typeof__". The latter is meant
> for glibc headers' internal use so that they don't conclict with the
> application's namespace, not for general use in application code.
>
> On the other hand it seems quite stupid to use an extension for this.
> We could juse instead do:
>
> #define TRANSPOSE8(type,a,b,c,d,e,f,g,h) \
> do { \
>     type  _A1, _B1, _C1, _D1, _E1, _F1, _G1, _H1; \

Naturally replacing the reserved _A1 etc names with allowed ones.  We
already this very problem once before, when _A1 (or something very
similar) was used in some system header file.

-- 
M?ns Rullg?rd
mru at inprovide.com




More information about the ffmpeg-devel mailing list