<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Apr 28, 2016 at 11:55 AM, Jose Fonseca <span dir="ltr"><<a href="mailto:jfonseca@vmware.com" target="_blank">jfonseca@vmware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 28/04/16 18:43, Jason Ekstrand wrote:<br>
</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
On Thu, Apr 28, 2016 at 8:49 AM, Jose Fonseca <<a href="mailto:jfonseca@vmware.com" target="_blank">jfonseca@vmware.com</a><br></span><span class="">
<mailto:<a href="mailto:jfonseca@vmware.com" target="_blank">jfonseca@vmware.com</a>>> wrote:<br>
<br>
    On 28/04/16 15:37, Connor Abbott wrote:<br>
<br>
        For the series:<br>
<br>
        Reviewed-by: Connor Abbott <<a href="mailto:cwabbott0@gmail.com" target="_blank">cwabbott0@gmail.com</a><br></span>
        <mailto:<a href="mailto:cwabbott0@gmail.com" target="_blank">cwabbott0@gmail.com</a>>><span class=""><br>
<br>
        For the zero-sized array thing... we could make it a<br>
        statically-sized<br>
        array, since we never have more than 4 arguments to an ALU<br>
        instruction, but that would be wasteful of memory. Also, we always<br>
        have at least 1 argument, so we could make the size 1 to shut up the<br>
        warning, but that would be more confusing and introduce undefined<br>
        behavior in C99 that the compiler is likely to actually take<br>
        advantage<br>
        of. I don't see any options better than just accepting the warning<br>
        and/or shutting that specific warning off.<br>
<br>
<br>
    I feared so.  Thanks for looking into it though.<br>
<br>
<br>
Can you be a bit more specific about the issues that MSVC has with<br>
zero-length arrays?  Can it "accept nir_src src[0]" instead of "src[]"?<br>
</span></blockquote>
<br>
<br>
To be clear, MSVC doesn't really have a problem with zero length arrays.  (I haven't actually tested the code, but at least MSVC compiles it without errors.)<br>
<br>
<br>
MSVC does have a problem with C99 field initializers -- it will throw an error.<br>
<br>
<br>
So I'd like to GCC to warn about C99 field initializers.  But unfortunately it's not possible to only warn about that: -Wpedantic warns about all non-standard extensions, including C99 zero-length arrays.<br>
<br>
<br>
So, if we could avoid zero-length arrays and other stuff that -Wpedantic warngs, that would make things simpler.  But no biggie.<br>
<br>
<br>
The key thing here is avoid C99 struct field initializers on the NIR headers that are mean to be used from C++.<span class="HOEnZb"><font color="#888888"><br></font></span></blockquote><div><br></div><div>Thanks for the clarification!  I'll try and keep my eye out for that.<br></div><div>--Jason <br></div></div><br></div></div>