[FFmpeg-devel] [PATCH]Disable DECLARE_ASM_CONST workaround for icc 12
Måns Rullgård
mans
Sat Jun 5 16:56:36 CEST 2010
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:
>>
>> > Hi!
>> >
>> > Intel icc finally supports __attribute__((used)) correctly, so the
>> > work-around for DECLARE_ASM_CONST can be disabled from upcoming
>> > version 12 on.
>> >
>> > Please comment, Carl Eugen
>> >
>> > Index: libavutil/mem.h
>> > ===================================================================
>> > --- libavutil/mem.h (revision 23468)
>> > +++ libavutil/mem.h (working copy)
>> > @@ -28,7 +28,7 @@
>> >
>> > #include "attributes.h"
>> >
>> > -#if defined(__ICC) || defined(__SUNPRO_C)
>> > +#if defined(__ICC) && _ICC < 1200 || defined(__SUNPRO_C)
>> > #define DECLARE_ALIGNED(n,t,v) t __attribute__ ((aligned (n))) v
>> > #define DECLARE_ASM_CONST(n,t,v) const t __attribute__ ((aligned (n))) v
>> > #elif defined(__TI_COMPILER_VERSION__)
>>
>> 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.
> The DECLARE_ALIGNED actually is and always was the same for ICC as
> for GCC.
That is beside the point.
--
M?ns Rullg?rd
mans at mansr.com
More information about the ffmpeg-devel
mailing list