libecb patch: fix compile warnings on gcc-llvm 4.2.1 (OS X 10.6 with Xcode 4)

Marc Lehmann schmorp at
Thu Dec 8 21:54:47 CET 2011

On Thu, Dec 08, 2011 at 09:46:24PM +0100, Hongli Lai <hongli at> wrote:
> ecb.h currently generates tons of warnings on gcc-llvm 4.2.1 (OS X

hmm, I am curious, what kind of warnings are these?

> This causes ecb.h to think that __attribute__ and other gcc extension
> keywords are not supported when they in fact are.

they in fact are not - llvm choose to implement only subsets of gcc
extensions while announcing full support, so us poor developers would have
to check every llvm version to see what subset it supports.

if you think attribute is _fully_ implemented in llvm then we would at
least need to know which version of llvm started to do that, and then we
could enable attribute for that version onward, if it exists.

> fixes this problem and also fixes a few more compilation warnings by
> replacing the 'ecb_inline' in front of some function definitions with
> 'ecb_function_'.

what warning does llvm emit for these, and why? marking all functions as
unused is a bit disingenous, I'd think it would be much better to fix llvm
not to emit the warning in these cases instead.

if the warning is caused by llvm hitting the "static" definition for
ecb_inline then it will go away automatically as soon as llvm supports c99
(which has inline).

                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_    
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      schmorp at
      -=====/_/_//_/\_,_/ /_/\_\

More information about the libev mailing list