[Ffmpeg-devel] Re: #define always_inline (hello?)
David Abrahams
dave
Wed Jan 11 21:43:06 CET 2006
David Abrahams <dave at boost-consulting.com> writes:
> FFMPEG's use of
>
> #define always_inline
>
> is problematic. The MacOS headers (and, presumably,
> other legitimate headers) use legal GCC constructs like:
>
> static __inline__ __attribute__((always_inline))
> return_type function_name() { }
>
> which naturally is disrupted by any attempt to #define
> always_inline.
Let me just clarify that when I say "is disrupted" I mean that
#defining always_inline causes these headers to generate /syntax
errors/.
Let me also point restate that this is not a MacOS-only problem.
> I propose that FFMPEG use some other symbol for that
> purpose, preferably an ALL_UPPERCASE symbol beginning with FFMPEG_,
> e.g.
>
>
> FFMPEG_ALWAYS_INLINE
>
> Yes, GCC should have stayed out of our way by using a reserved
> identifier such as __always_inline__, but regardless, #defining
> non-prefixed lowercase macro names in library headers is always
> problematic because they tend to collide with identifiers in user
> code. ALL_UPPERCASE names are, by convention, reserved for macros.
>
> Am I missing something important here?
--
Dave Abrahams
Boost Consulting
www.boost-consulting.com
More information about the ffmpeg-devel
mailing list