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?
>
>From "make V=1"
depbase=`echo test-display-base.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I../..
-DSPICE_TOP_SRCDIR=\"/home/user/cpp/spice-server\" -I../..
-I../../server -I../../server -I../../server/tests
-I../../subprojects/spice-common -I../../subprojects/spice-common
-DG_LOG_DOMAIN=\"Spice\" -I/usr/include/spice-1
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
-I/usr/include/sysprof-4 -I/usr/include/libmount -I/usr/include/blkid
-pthread -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_38
-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_60 -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4
-I/usr/include/libmount -I/usr/include/blkid -pthread
-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_38
-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_60 -I/usr/include/cacard
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
-I/usr/include/sysprof-4 -I/usr/include/nss3 -I/usr/include/nspr4
-I/usr/include/PCSC -pthread -I/home/fziglio/install/include
-fno-common -W -Waddress -Waggressive-loop-optimizations -Wall
-Wattributes -Wbool-compare -Wbuiltin-macro-redefined -Wcast-align
-Wchar-subscripts -Wclobbered -Wcomment -Wcomments -Wcoverage-mismatch
-Wcpp -Wdate-time -Wdeprecated-declarations -Wdisabled-optimization
-Wdiv-by-zero -Wdouble-promotion -Wduplicated-cond -Wempty-body
-Wendif-labels -Wextra -Wformat-contains-nul -Wformat-extra-args
-Wformat-security -Wformat-y2k -Wformat-zero-length -Wframe-address
-Wfree-nonheap-object -Whsa -Wignored-attributes -Wignored-qualifiers
-Winit-self -Wint-to-pointer-cast -Winvalid-memory-model -Winvalid-pch
-Wlogical-not-parentheses -Wlogical-op -Wmain -Wmaybe-uninitialized
-Wmemset-transposed-args -Wmisleading-indentation -Wmissing-braces
-Wmissing-field-initializers -Wmissing-include-dirs -Wmultichar
-Wnarrowing -Wnonnull -Wnonnull-compare -Wodr -Wopenmp-simd -Woverflow
-Wpacked-bitfield-compat -Wparentheses -Wpointer-arith -Wpragmas
-Wreturn-local-addr -Wreturn-type -Wscalar-storage-order
-Wsequence-point -Wshift-count-negative -Wshift-count-overflow
-Wshift-negative-value -Wsizeof-array-argument
-Wsizeof-pointer-memaccess -Wstrict-aliasing -Wsuggest-attribute=const
-Wsuggest-attribute=format -Wsuggest-attribute=noreturn
-Wsuggest-attribute=pure -Wswitch -Wswitch-bool -Wsync-nand
-Wtautological-compare -Wtrampolines -Wtrigraphs -Wtype-limits
-Wuninitialized -Wunknown-pragmas -Wunused -Wunused-but-set-parameter
-Wunused-but-set-variable -Wunused-function -Wunused-label
-Wunused-local-typedefs -Wunused-parameter -Wunused-result
-Wunused-value -Wunused-variable -Wvarargs -Wvariadic-macros
-Wvector-operation-performance -Wvolatile-register-var -Wwrite-strings
-Warray-bounds=2 -Wnormalized=nfc -Wunused-const-variable=2
-Wno-sign-compare -Wno-unused-parameter -Wno-format-nonliteral
-Wframe-larger-than=20460 -fstack-protector-all
--param=ssp-buffer-size=4 -fexceptions -fasynchronous-unwind-tables
-fdiagnostics-show-option -funit-at-a-time -fipa-pure-const
-Wno-suggest-attribute=pure -Wno-suggest-attribute=const -Werror
-Wno-suggest-final-methods -Wno-suggest-final-types -Wno-array-bounds
-Wno-stringop-overflow -Wno-narrowing -Wno-missing-field-initializers
-Wshadow -O0 -g -pipe -Wall -Werror=format-security -fexceptions
-fstack-protector-strong --param=ssp-buffer-size=4
-grecord-gcc-switches -m64 -mtune=generic -DCOMPRESS_STAT
-DRED_WORKER_STAT -Wno-implicit-fallthrough -fno-exceptions
-fno-check-new -MT test-display-base.o -MD -MP -MF $depbase.Tpo -c -o
test-display-base.o test-display-base.cpp &&\
mv -f $depbase.Tpo $depbase.Po
test-display-base.cpp:826:1: error: missing braces around initializer
for 'QXLInterface::<unnamed union>' [-Werror=missing-braces]
826 | };
| ^
$ gcc --version
gcc (GCC) 13.2.1 20240316 (Red Hat 13.2.1-7)
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Frediano