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