[FFmpeg-devel] [PATCH]Disable DECLARE_ASM_CONST workaround for icc 12

Måns Rullgård mans
Sat Jun 5 17:31:05 CEST 2010

Reimar D?ffinger <Reimar.Doeffinger at gmx.de> writes:

> On Sat, Jun 05, 2010 at 03:56:36PM +0100, M?ns Rullg?rd wrote:
>> Reimar D?ffinger <Reimar.Doeffinger at gmx.de> writes:
>> > On Sat, Jun 05, 2010 at 11:33:08AM +0100, M?ns Rullg?rd wrote:
>> >> Carl Eugen Hoyos <cehoyos at ag.or.at> writes:
>> >> IMO this problem should be solved differently.  Combining it with the
>> >> alignment macro is weird to say the least.
>> >
>> > I was never supposed to be combined with the aligned macro, that's
>> > why the DECLARE_ASM_CONST was added.
>> DECLARE_ASM_CONST expands to something containing an alignment
>> specifier, and that is IMO mixing unrelated things.  A better solution
>> would be to do something like
>>   #define static_used static __attribute__((used))
>> when that attribute works and to nothing otherwise, then use that in a
>> normal DECLARE_ALIGNED invocation if extra alignment is required.
> Well, the idea was just to have one single macro saying "do whatever
> it takes so that this is available as a constant for assembler code
> in this file".

Yes, and that description doesn't include anything about alignment.
Preventing the compiler from removing a seemingly unused variable and
increasing the alignment are quite distinct operations.  There is no
inherent reason you'd always want them together.

> To me such a static_used define feels like naming things after a gcc-specific
> hack instead of what is really teh intention.

So name it something else.  It was only an example.

> But I'm not objecting if anyone has strong feelings about this...

It would reduce the amount of duplication in those macros.

M?ns Rullg?rd
mans at mansr.com

More information about the ffmpeg-devel mailing list