git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 1/2] builtin/merge-file: fix compiler error on MacOS with clang 11.0.0

From
Eric Sunshine <sunshine@sunshineco.com>
Date
Oct 6, 2022, 22:30 UTC
Message-ID
<CAPig+cT7_H6EDU9s1G38QrepACzN2vzCopAn7S=PDb0so_F21A@mail.gmail.com>
In-Reply-To
<36cd156b-edb2-062c-9422-bf39aad39a6d@web.de>
On Thu, Oct 6, 2022 at 5:25 PM René Scharfe <l.s.r@web.de> wrote:
Show 18 quoted lines
> Am 06.10.22 um 21:43 schrieb Jeff Hostetler via GitGitGadget:
> > Add extra set of braces around zero initialization of two array/structure
> > variables to resolve compiler errors/warnings from clang 11.0.0 on MacOS.
> > This is not needed on clang 14.0.
>
> Not sure how the Apple version numbers map to LLVM versions.  I can
> reproduce it with Godbolt's Compiler Explorer with clang 8, but not
> with clang 9 or higher: https://godbolt.org/z/f7f7s9xxz
>
> > builtin/merge-file.c:29:23: error: suggest braces around initialization \
> >                           of subobject [-Werror,-Wmissing-braces]
> >         mmfile_t mmfs[3] = { 0 };
> >                              ^
> >                              {}
>
> {0} is an idiom to zero-initialize any struct, no matter how deeply
> nested.  It's valid C and the compiler warning about it is not helpful.
> Shouldn't we rather silence it with -Wno-missing-braces?
That was indeed Ævar's suggestion in [1]:
    Since this is only a warning, and only a practical issue with
    -Werror I wonder if a config.mak.dev change wouldn't be better,
    i.e. to provide a -Wno-missing-braces for this older clang
    version.

The problem is that Apple seems to invent their version numbers out of thin air with no relation to reality[2,3], so it may take some effort to work out suitable "version mapping rules" for config.mak.dev, and nobody has done it yet.

[1]: https://lore.kernel.org/git/220712.86lesy6cri.gmgdl@evledraar.gmail.com/ [2]: https://lore.kernel.org/git/Ys0hhYjPExuNWynE@coredump.intra.peff.net/ [3]: https://lore.kernel.org/git/YQ2LdvwEnZN9LUQn@coredump.intra.peff.net/

Previous: René ScharfeNext: Junio C Hamano
Message 4 of 21 in “Fix syntax errors under clang 11.0.0 on MacOS”
  1. 0/2 Fix syntax errors under clang 11.0.0 on MacOSJeff Hostetler via GitGitGadget, Oct 6, 2022
  2. 1/2 builtin/merge-file: fix compiler error on MacOS with clang 11.0.0Jeff Hostetler via GitGitGadget, Oct 6, 2022
  3. René ScharfeOct 6, 2022
  4. Eric SunshineOct 6, 2022
  5. Junio C HamanoOct 6, 2022
  6. 2/2 builtin/unpack-objects.c: fix compiler error on MacOS with clang 11.0.0Jeff Hostetler via GitGitGadget, Oct 6, 2022
  7. Junio C HamanoOct 6, 2022
  8. Eric SunshineOct 6, 2022
  9. Ævar Arnfjörð BjarmasonOct 7, 2022
  10. Jeff HostetlerOct 7, 2022
  11. Junio C HamanoOct 7, 2022
  12. René ScharfeOct 7, 2022
  13. Jeff HostetlerOct 7, 2022
  14. Junio C HamanoOct 7, 2022
  15. Eric SunshineOct 8, 2022
  16. René ScharfeOct 8, 2022
  17. Junio C HamanoOct 9, 2022
  18. Junio C HamanoOct 7, 2022
  19. config.mak.dev: disable suggest braces error on old clang versionsJeff Hostetler via GitGitGadget, Oct 10, 2022
  20. Junio C HamanoOct 10, 2022
  21. Junio C HamanoOct 11, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.