On Sun, Nov 13, 2011 at 07:25:48PM +0100, Vincent Torri wrote:
> Albin Tonerre (Lutin) told me that there is (maybe, i don't know much 
> about that) an ABI break, with a move a function from a source code to an 
> inline function. I can't remember the function, but Albin can retrieve it, 
> I think.

It is an ABI break if you don't also force an explicit copy. Speaking
from a C99 background, there two ways to create inline functions:

static inline int foo(void) { ... }

inline int foo(void) { ... }

The former will ensure that code is always using the code from the
header file, even if it is creating a local non-inlined copy.

The second form provides an inline hint -- the compiler may or may not
decide to use it. If the code later provides an explicit non-inline
prototype, the compiler will provide the body. This means that the
library can have

        int foo(void);

in one C file and it will provide an out-of-line copy.

Note that the traditional GNU inline semantic is slightly different.

Joerg

------------------------------------------------------------------------------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to