On Thu, Aug 25, 2005 at 08:07:55PM +0100, Al Viro wrote: > IMO that's a question to rth: why do we really need to block always_inline > on alpha?
Because I use "extern inline" in the proper way. That is, I have both inline and out-of-line versions of some routines. These routines have their address taken to be put into the alpha_machine_vector structures, so we're guaranteed that they'll be out-of-line at least once. But if you define inline to always_inline, the compiler complains when its forced to fall back to the out-of-line copy. And rightly so -- the feature was INVENTED for using compiler intrinsics that would in fact not produce valid assembly unless certain parameters are constants. I've complained about this before. You always-inline savages have obsconded with ALL THREE inline keywords -- "inline", "__inline" and "__inline__" -- so there is in fact no way to accomplish what I want. So in a fit of pique I've locally undone not just one, but all of the always-inline crap. All that said, something's wrong if we couldn't generate an out-of-line copy of kmalloc. The entire block protected by __builtin_constant_p should have been eliminated. File a gcc bugzilla report. r~ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/