[cfe-dev] Initialization of an anonymous struct within a class
Douglas Gregor
dgregor at apple.com
Mon Aug 9 16:19:24 PDT 2010
On Aug 9, 2010, at 4:16 PM, Shaun Jackman wrote:
> On Mon, 2010-08-09 at 15:48 -0700, Douglas Gregor wrote:
>> On Aug 9, 2010, at 12:58 PM, Shaun Jackman wrote:
>>
>>> Hi,
>>>
>>> I'm not sure whether an anonymous struct within a class is standard, or
>>> a GCC extension that clang attempts to support. In any case, the
>>> following code snippet gives this error:
>>>
>>> anonymous-struct.cc:9:16: error: multiple initializations given for non-static member 'y'
>>> Foo() : x(0), y(0) { }
>>> ^~~~
>>> anonymous-struct.cc:9:10: note: previous initialization is here
>>> Foo() : x(0), y(0) { }
>>> ^
>>> 2 diagnostics generated.
>>>
>>> Just for comparison, I've also given code that does not use an anonymous
>>> struct and does compile cleanly.
>>
>>
>> It's definitely a Clang bug, and while I know I've seen this issue at least once before, it doesn't seem to be in our bug tracker. Could you file a bug on LLVM's Bugzilla?
>>
>> - Doug
>
> Hi Doug,
>
> Is an anonymous struct like this one standard?
No, anonymous structs are a GCC extension. We have reasonably good support for them in C, but not necessarily in C++.
> Bug 7855 - Initialization of an anonymous struct within a class
> http://llvm.org/bugs/show_bug.cgi?id=7855
Thank you!
- Doug
More information about the cfe-dev
mailing list