Boost logo

Boost :

Subject: Re: [boost] [function] Placement new warnings from gcc 6
From: Gavin Lambert (gavinl_at_[hidden])
Date: 2016-04-05 00:29:05


On 5/04/2016 16:12, Andrey Semashev wrote:
> On 2016-04-05 06:39, Gavin Lambert wrote:
>> Type name != member name. It is still an anonymous union.
>
> It is not. My reading of the above code snippet is that there is a
> nested function_buffer_members union type definition. There is no member
> of that type in function_buffer, and since it is not an anonymous union,
> its members are not "inlined" into the containing scope (i.e. the
> function_buffer union). The mutable keyword is illegal in that context.

See https://gcc.gnu.org/onlinedocs/gcc/Unnamed-Fields.html (specifically
the discussion near "-fms-extensions").

Although interestingly, current MS compilers at least do appear to treat
this as a nested type declaration rather than an anonymous member
declaration.

In any case, we've established that this isn't going to work, so I won't
say any more on it.


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