Thread (3 messages) 3 messages, 2 authors, 2022-07-11

Re: [PATCH] unpack-objects: fix compilation warning/error due to missing braces

From: Eric Sunshine <hidden>
Date: 2022-07-11 02:41:26

On Sun, Jul 10, 2022 at 10:00 PM Han Xin [off-list ref] wrote:
On Sun, Jul 10, 2022 at 4:12 PM Eric Sunshine [off-list ref] wrote:
quoted
On macOS High Sierra (10.13), Apple's `clang`[1] complains about missing
braces around initialization of a subobject, which is problematic when
building with `DEVELOPER=YesPlease` which enables `-Werror`:

    builtin/unpack-objects.c:388:26: error: suggest braces around
        initialization of subobject [-Werror,-Wmissing-braces]
            git_zstream zstream = { 0 };

[1]: `cc --version` => "Apple LLVM version 10.0.0 (clang-1000.10.44.4)"
-       git_zstream zstream = { 0 };
+       git_zstream zstream = {{ 0 }};
Not a comment, just wondering, when should I use "{ { 0 } }" and when
should I use "{ 0 }"?

I didn't get the error with "Apple clang version 13.0.0
(clang-1300.0.29.30)",  because it's
a higher version ?
I don't have a good answer. More modern `clang` versions don't seem to
complain about plain old `{0}` here, but the older `clang` with which
I'm stuck does complain. Aside from actually building the project with
an older `clang` (or older Apple-specific `clang`), it may be
sufficient to inspect the structure that's being initialized to see if
the first element is itself a subobject. However, I'm not sure it's
worth the effort to do so considering how rare this problem seems to
be.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help