Boost logo

Boost :

Subject: Re: [boost] [config] BOOST_FORCEINLINE for clang
From: Michael Marcin (mike.marcin_at_[hidden])
Date: 2013-05-13 11:32:03


On 5/13/2013 4:44 AM, Mathias Gaunard wrote:
> On 13/05/13 07:12, Daryle Walker wrote:
>> ----------------------------------------
>>> Date: Sun, 12 May 2013 22:59:21 +0900
>>> From: mimomorin_at_[hidden]
>>>
>>> I replaced `always_inline` in boost/config/suffix.hpp with
>>> `__always_inline__`
>>> to avoid interference with a macro with the same name.
>>>
>>> Committed in r84245 (
>>> https://svn.boost.org/trac/boost/changeset/84245 ):
>>> --- boost/config/suffix.hpp (revision 84244)
>>> +++ boost/config/suffix.hpp (working copy)
>>> @@ -641,7 +641,7 @@
>>> # if defined(_MSC_VER)
>>> # define BOOST_FORCEINLINE __forceinline
>>> # elif defined(__GNUC__) && __GNUC__ > 3
>>> -# define BOOST_FORCEINLINE inline __attribute__ ((always_inline))
>>> +# define BOOST_FORCEINLINE inline __attribute__ ((__always_inline__))
>>> # else
>>> # define BOOST_FORCEINLINE inline
>>> # endif
>>
>> You should include a comment in the GCC section that it also works for
>> Clang,
>> due to Clang's GCC emulation. That way, later maintainers won't be
>> wondering
>> if Clang support should be added. (And help debugging if Clang ever
>> stops
>> emulating GCC by default.)
>
> Isn't it common knowledge that Clang is compatible with GCC and pretends
> to be GCC 4.2, and that therefore most GCC-specific code will just work
> with Clang out of the box?
>

Probably, still seems relatively painless to add the comment that may
help someone understand more easily in the future.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk