[Mesa-dev] [PATCH] nir/builder: Don't use designated initializers

Jason Ekstrand jason at jlekstrand.net
Mon Sep 21 09:25:26 PDT 2015


On Mon, Sep 21, 2015 at 9:24 AM, Matt Turner <mattst88 at gmail.com> wrote:
> On Mon, Sep 21, 2015 at 9:22 AM, Kenneth Graunke <kenneth at whitecape.org> wrote:
>> On Monday, September 21, 2015 08:26:04 AM Jason Ekstrand wrote:
>>> Designated initializers are not allowed in C++ (not even C++11).  Since
>>> nir_lower_samplers is now using nir_builder, and nir_lower_samplers is in
>>> C++, this breaks the build on some compilers.  Aparently, GCC 5 allows it
>>> in some limited extent because mesa still builds on my system without this
>>> patch.
>>>
>>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92052
>>> ---
>>>  src/glsl/nir/nir_builder.h | 21 ++++++++++++++++++---
>>>  1 file changed, 18 insertions(+), 3 deletions(-)
>>
>> I'd rather just take Emil's patch to convert nir_lower_samplers out of
>> C++, honestly.  NIR is in C99, let's keep it that way.
>
> I think Jason's argument was that we'd have to make nir_builder
> compatible with C++ if we plan to use it with glsl_to_nir, but I agree
> that we should convert nir_lower_samplers to C regardless.

Yes, I'd like to see lower_samplers written in C.  However, at the
moment, it's making sure that all of the NIR goodness works in C++.


More information about the mesa-dev mailing list