[Ffmpeg-devel] #define always_inline

David Abrahams dave
Sun Jan 8 20:37:58 CET 2006


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.  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?

Thanks,
-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com





More information about the ffmpeg-devel mailing list