[Mesa-dev] [PATCH 11/19] anv: Use GNU C empty brace initializer

Matt Turner mattst88 at gmail.com
Tue Aug 29 17:10:09 UTC 2017


On Tue, Aug 29, 2017 at 3:35 AM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
> On 29 August 2017 at 11:11, Eric Engestrom <eric.engestrom at imgtec.com> wrote:
>> On Monday, 2017-08-28 14:57:13 -0700, Matt Turner wrote:
>>> Avoids Clang's warning about the current code:
>>>
>>>    warning: suggest braces around initialization of subobject
>>
>> I'm not sure about this patch [1], but everything else in this series is:
> IIRC "{}" is the least likely way to avoid the warnings, across
> GCC/Clang versions.
> It's not part of the C spec, but since it works - not sure how much to bother.

I'm surprised to hear you say that. I've tested with gcc-4.9.4, 6.4.0,
7.1.0; and clang-4.0, and none of them warn about {}

I think when we went through this before (in NIR) we couldn't use {}
because it needs to compile with MSVC, and MSVC doesn't allow that in
C.

> Would be great to have the issue reported (and fixed) in Clang though.
> AFAICT both {0} and {0,} are valid, if memory serves me right.

I don't really understand the nuances of {0}, {0,}, {{0}}, etc, and I
get the sense that that's the case for nearly everyone else as well.

The most prominent bug I see in all of this is that {} isn't part of
standard C (it is part of standard C++!)


More information about the mesa-dev mailing list