On Mon, Sep 29, 2014 at 05:35:24PM +0200, Torvald Riegel wrote: > On Mon, 2014-09-29 at 16:53 +0400, Gleb Fotengauer-Malinovskiy wrote: > > -#undef __always_inline > > -#define __always_inline __attribute__((always_inline)) > > +#define __libitm_always_inline inline __attribute__((always_inline)) > > The previous code seems to work in libstdc++. I believe that > eventually, we'll want to use libstdc++-v3/include/bits/atomic_base.h > (see the comment at the top of the file). Can we keep the diff between > the two files small?
libstdc++-v3/include/bits/atomic_base.h uses _GLIBCXX_ALWAYS_INLINE macro: #ifndef _GLIBCXX_ALWAYS_INLINE #define _GLIBCXX_ALWAYS_INLINE inline __attribute__((always_inline)) #endif but using a libstdc++ specific macro in libitm sounds weird to me (any change to that macro would mean you need to change it accordingly also in libitm or vice versa). Jakub