On Tue, Mar 19, 2013 at 05:10:22PM +0100, Jakub Jelinek wrote: > On Tue, Mar 19, 2013 at 08:51:21AM -0700, Andi Kleen wrote: > > > Using __always_inline as the name of the macro is a bad idea, glibc > > > headers use that macro already. Just use something else in public headers > > > that aren't part of glibc. > > > > That's why I had the ifdef, but ok. I'll use __force_inline then. > > I'd say Jonathan's _GLIBCXX_ALWAYS_INLINE would be better. > > BTW, have you verified always_inline works fine for -O0?
I did some simple tests and it seemed to work. But thanks for the counter example. > > with -O0 -mhle doesn't result in xacquire, guess for !optimize > get_memmodel would need to look through chain of SSA_NAMEs if SSA_NAME > (that can appear because of inlining), looking for INTEGER_CSTs. interesting. so need more fixes. i'll look into that. Is there already a convenient helper for it? There was an alternative approach of using a template, but I suppose that would have the same problem. -Andi