On Fri, Mar 02, 2012, David Chisnall wrote: > On 2 Mar 2012, at 12:53, Konstantin Belousov wrote: > > > This part of the change breaks KBI. I suggest that for merge to stable/9 > > you would leave the bread and breadn as functions. > > Can we not do this for the general case? Provide them as inline > extern functions in the header, and implement them elsewhere, so > the compiler will inline them in recompiled code but not break > code that isn't?
The biggest hinderance to using extern inline is that gcc and C99 disagree about what it means, unless you use a reasonably recent compiler in C99 mode. I first tried to use extern inline in the tree several years after I backported gcc's C99 inline support, and it still turned out to be a headache. Of course, the kernel is easier because we can insist on a recent compiler in C99 mode, but perhaps there's still some lingering confusion. I've been meaning to write up a wiki page about how to use the different types of inlines, and when they'd be appropriate...but I have very limited time for the next few months. _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"