[FFmpeg-devel] [PATCH 3/3] two functions were declaredinlinebutwere referenced elsewhere

J. Bohl jbohl at jbohl.de
Sat Jun 16 00:40:40 CEST 2012


Hi,

I apologize for the inconvenience. I am on the verge of giving up, and
do not want to cause more trouble.
OK, one last attempt: obviously icc (Linux) uses pre-4.3-GCC sematic,
whereas icl (Windows) uses C99 sematic. So we would have to distinguish
between icl and icc, and one way to do it is using the predefined macro
__ICL versus __ICC (just verified that, __ICL is _not_ defined with icc
and vice versa). 
So, we have

#if defined(__ICL) ||  defined(__GNUC_STDC_INLINE__)

Please find patch attached - and thanks for your patience!

Regards,

Juergen

-----Original Message-----
From: ffmpeg-devel-bounces at ffmpeg.org
[mailto:ffmpeg-devel-bounces at ffmpeg.org] On Behalf Of Michael
Niedermayer
Sent: Friday, June 15, 2012 10:34 AM
To: FFmpeg development discussions and patches
Subject: Re: [FFmpeg-devel] [PATCH 3/3] two functions were
declaredinlinebutwere referenced elsewhere

On Fri, Jun 15, 2012 at 02:31:10AM +0200, Michael Niedermayer wrote:
> On Thu, Jun 14, 2012 at 11:39:07PM +0200, J. Bohl wrote:
> > Hi,
> > 
> > I read through these articles
> > http://www.greenend.org.uk/rjk/tech/inline.html and 
> > http://stackoverflow.com/questions/216510/extern-inline - and got 
> > even more confused.
> > Well, the my state of mind is now:
> > - in C99 "extern inline" creates an out-of-line function 
> > (=externally
> > visible)
> > - GCC before 4.3 treats "inline" the same way (creates always an 
> > out-of-line function as well)
> > 
> > In addition, every compiler that compiles/links the current code 
> > without a linker error obviously treats "inline" as "create an 
> > out-of-line function as well".
> > 
> > So I arrived at:
> > 
> > #ifndef av_extern_inline
> > #if defined(__INTEL_COMPILER) ||  defined(__GNUC_STDC_INLINE__)
> > #    define av_extern_inline extern inline
> > #else
> > #    define av_extern_inline inline
> > #endif
> > #endif
> 
> applied

reverted again due to compilation failure of ICC:

http://fate.ffmpeg.org/log.cgi?time=20120615060729&log=compile&slot=x86_
64-linux-gnu-icc-2011.4.191

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Those who are best at talking, realize last or never when they are
wrong.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-enable-C99-external_inline-for-icl.patch
Type: application/octet-stream
Size: 711 bytes
Desc: 0001-enable-C99-external_inline-for-icl.patch
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20120616/75025f07/attachment.obj>


More information about the ffmpeg-devel mailing list