On 12/16/25 05:19, Uri Lublin wrote:
On Fri, Dec 12, 2025 at 7:56 AM Nicholas Vinson <[email protected] <mailto:[email protected]>> wrote:



    On 12/11/25 13:48, Uri Lublin wrote:
     >
     >
     > On Thu, Dec 11, 2025 at 2:38 PM Nicholas Vinson
    <[email protected] <mailto:[email protected]>
     > <mailto:[email protected] <mailto:[email protected]>>> wrote:
     >
     >     On 12/11/25 06:55, Frediano Ziglio wrote:
     >      > On Sun, 7 Dec 2025 at 12:20, Nicholas Vinson
     >     <[email protected] <mailto:[email protected]>
    <mailto:[email protected] <mailto:[email protected]>>> wrote:
     >      >>
     >      >> When building with g++-16, the build fails with the
    following error:
     >      >>
     >      >>      server/tests/test-display-base.cpp:809:5: error:
    either all
     >     initializer
     >      >>      clauses should be designated or none of them should be
     >      >>
     >      >> This is because g++-16 defaults to c++20 and when using
    designated
     >      >> initializers with c++20, you don't wrap anonymous union
    fields
     >     with braces.
     >      >>
     >      >> Nicholas Vinson (2):
     >      >>    m4/spice-compile-warnings.m4: disable -Wmissing-braces
     >      >>    test-display-base.cpp: adjust designated init.
     >      >>
     >      >>   m4/spice-compile-warnings.m4       | 1 +
     >      >>   server/tests/test-display-base.cpp | 2 +-
     >      >>   2 files changed, 2 insertions(+), 1 deletion(-)
     >      >>
     >      >
     >      > The CI is not that happy. I added some commit to make it pass:
     >      > - missing AUTHORS for "make syntax-check"
     >      > https://gitlab.freedesktop.org/fziglio/spice/-/commit/
    <https://gitlab.freedesktop.org/fziglio/spice/-/commit/>
     >     fb018b3fbb26f38b2ffb0ee569d4aafc287fc738 <https://
     > gitlab.freedesktop.org/fziglio/spice/-/commit/ <http://
    gitlab.freedesktop.org/fziglio/spice/-/commit/>
     >     fb018b3fbb26f38b2ffb0ee569d4aafc287fc738>
     >      > - too old Fedora (not related to these changes)
     >      > https://gitlab.freedesktop.org/fziglio/spice/-/commit/
    <https://gitlab.freedesktop.org/fziglio/spice/-/commit/>
     >     a4525e204ef8b7e3beb3709823029e27de633d7a <https://
     > gitlab.freedesktop.org/fziglio/spice/-/commit/ <http://
    gitlab.freedesktop.org/fziglio/spice/-/commit/>
     >     a4525e204ef8b7e3beb3709823029e27de633d7a>
     >      > - compatibility with pretty old GCC
     >      > https://gitlab.freedesktop.org/fziglio/spice/-/ <https://
    gitlab.freedesktop.org/fziglio/spice/-/>
     >     commit/6a2c24fd5c088cb3b016a40965882e98f010b583 <https://
     > gitlab.freedesktop.org/fziglio/spice/-/ <http://
    gitlab.freedesktop.org/fziglio/spice/-/>
     >     commit/6a2c24fd5c088cb3b016a40965882e98f010b583>
     >
     >
     > Frediano, where did you take the 10 from ?
     > Shouldn't it check if the gcc version is 16 (or even 20) ?
     >
     >
     >
     >     I'm concerned about the old GCC compatibility commit. I think
    it would
     >     be more robust if designated initializer feature checks were
    added to
     > configure.ac <http://configure.ac> <http://configure.ac <http://
    configure.ac>> and meson.build instead.
     >
     >     That way you don't have to worry about how old or new the
    compiler
     >     is or
     >     if it implements the necessary GCC extensions, or implements them
     >     correctly.
     >
     >
     > Do you mean compiling a simple program with designated
    initializers in
     > meson/configure ?

    That's exactly what I mean.


It is a bit safer, but I think we can trust gcc in this case, like Frediano's patch does.

How about "#if defined __clang__ || defined _MSC_VER || __GNUC__ > 7".

It's a bit more relaxed than Frediano's check and supports MSC 16.1 or newer, gcc-7 or newer, and every version of clang > 3 (might support some < 3, but godbolt doesn't have anything that old).

Thanks,
Nicholas Vinson



Thanks,
     Uri.


    Regards,
    Nicholas Vinson

     >
     > Regards,
     >      Uri.
     >
     >
     >     Regards,
     >     Nicholas Vinson
     >
     >      >
     >      > Do they sound good?
     >      > I suppose the compatibility one could be merged.
     >      >
     >      > Regards,
     >      >    Frediano
     >


Reply via email to