On Thu, 4 Dec 2025 at 22:16, Nicholas Vinson <[email protected]> wrote: > > On 12/4/25 16:26, Frediano Ziglio wrote: > > Frediano > > > > On Thu, 4 Dec 2025 at 21:20, Nicholas Vinson <[email protected]> wrote: > >> > >> On 12/4/25 16:05, Frediano Ziglio wrote: > >>> On Thu, 4 Dec 2025 at 17:06, Nicholas Vinson <[email protected]> wrote: > >>>> > >>>> Adjust designated initializer to be C++20 compliant. Starting with > >>>> g++-16, GCC will default to the C++20 standard. > >>>> > >>>> Signed-off-by: Nicholas Vinson <[email protected]> > >>>> --- > >>>> server/tests/test-display-base.cpp | 2 +- > >>>> 1 file changed, 1 insertion(+), 1 deletion(-) > >>>> > >>>> diff --git a/server/tests/test-display-base.cpp > >>>> b/server/tests/test-display-base.cpp > >>>> index b220b7fe..5d0404c9 100644 > >>>> --- a/server/tests/test-display-base.cpp > >>>> +++ b/server/tests/test-display-base.cpp > >>>> @@ -806,7 +806,7 @@ static QXLInterface display_sif = { > >>>> .major_version = SPICE_INTERFACE_QXL_MAJOR, > >>>> .minor_version = SPICE_INTERFACE_QXL_MINOR > >>>> }, > >>>> - { .attached_worker = attached_worker }, > >>>> + .attached_worker = attached_worker, > >>>> .set_compression_level = set_compression_level, > >>>> .set_mm_time = nullptr, > >>>> .get_init_info = get_init_info, > >>> > >>> With this change I'm getting > >>> > >>> CXX test-display-base.o > >>> test-display-base.cpp:826:1: error: missing braces around initializer > >>> for 'QXLInterface::<unnamed union>' [-Werror=missing-braces] > >>> 826 | }; > >>> | ^ > >>> > >> > >> Could you post your compiler version and the CXX flags you used? > >> > > > *snip* > > This appears to be caused because -Wmissing-braces is being explicitly > set. I've tried with both gcc-15 and gcc-16, and there does not appear > to be a way to suppress that warning while using designated initializers. >
Nice catch, there's a line in m4/manywarnings.m4 about that specific warning. Removing it removes the error I was having. I suppose you can update the patch removing that line. > The original syntax triggers the error message "error: either all > initializer clauses should be designated or none of them should be" when > building against the C++ 20 standard. > > Regards, > Nicholas Vinson > Frediano
