qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH for 8.0] qemu/osdep: Switch position of "extern" and "G_NORET


From: Bernhard Beschow
Subject: Re: [PATCH for 8.0] qemu/osdep: Switch position of "extern" and "G_NORETURN"
Date: Sat, 18 Mar 2023 20:23:09 +0000

+ Thomas, Daniel (gitlab issue) and Stefan (Windows)

Am 18. März 2023 18:59:31 UTC schrieb Bernhard Beschow <shentey@gmail.com>:
>Fixes the Windows build under msys2 using GCC 12 which fails with the following
>error:
>
>  [184/579] Compiling C++ object qga/vss-win32/qga-vss.dll.p/install.cpp.obj
>  FAILED: qga/vss-win32/qga-vss.dll.p/install.cpp.obj
>  "c++" "-m64" "-mcx16" "-Iqga/vss-win32/qga-vss.dll.p" "-Iqga/vss-win32" 
> "-I../src/qga/vss-win32" "-I." "-Iqapi" "-Itrace" "-Iui" "-Iui/shader" 
> "-IC:/msys64/mingw64/include/glib-2.0" 
> "-IC:/msys64/mingw64/lib/glib-2.0/include" "-fdiagnostics-color=auto" "-Wall" 
> "-Winvalid-pch" "-Wnon-virtual-dtor" "-Werror" "-std=gnu++11" "-g" "-iquote" 
> "." "-iquote" "C:/msys64/home/shentey/Projects/qemu/src" "-iquote" 
> "C:/msys64/home/shentey/Projects/qemu/src/include" "-iquote" 
> "C:/msys64/home/shentey/Projects/qemu/src/tcg/i386" "-D__STDC_LIMIT_MACROS" 
> "-D__STDC_CONSTANT_MACROS" "-D__STDC_FORMAT_MACROS" "-fno-pie" "-no-pie" 
> "-D_GNU_SOURCE" "-D_FILE_OFFSET_BITS=64" "-D_LARGEFILE_SOURCE" 
> "-fno-strict-aliasing" "-fno-common" "-fwrapv" "-Wundef" "-Wwrite-strings" 
> "-Wtype-limits" "-Wformat-security" "-Wformat-y2k" "-Winit-self" 
> "-Wignored-qualifiers" "-Wempty-body" "-Wendif-labels" 
> "-Wexpansion-to-defined" "-Wimplicit-fallthrough=2" 
> "-Wmissing-format-attribute" "-Wno-missing-include-dirs" 
> "-Wno-shift-negative-value" "-Wno-psabi" "-fstack-protector-strong" 
> "-Wno-unknown-pragmas" "-Wno-delete-non-virtual-dtor" "-Wno-non-virtual-dtor" 
> -MD -MQ qga/vss-win32/qga-vss.dll.p/install.cpp.obj -MF 
> "qga/vss-win32/qga-vss.dll.p/install.cpp.obj.d" -o 
> qga/vss-win32/qga-vss.dll.p/install.cpp.obj "-c" 
> ../src/qga/vss-win32/install.cpp
>  In file included from C:/msys64/mingw64/lib/glib-2.0/include/glibconfig.h:9,
>              from C:/msys64/mingw64/include/glib-2.0/glib/gtypes.h:34,
>              from C:/msys64/mingw64/include/glib-2.0/glib/galloca.h:34,
>              from C:/msys64/mingw64/include/glib-2.0/glib.h:32,
>              from 
> C:/msys64/home/shentey/Projects/qemu/src/include/glib-compat.h:32,
>              from 
> C:/msys64/home/shentey/Projects/qemu/src/include/qemu/osdep.h:144,
>              from ../src/qga/vss-win32/install.cpp:13:
>  C:/msys64/mingw64/include/glib-2.0/glib/gmacros.h:1075:21: error: standard 
> attributes in middle of decl-specifiers
>  1075 | # define G_NORETURN [[noreturn]]
>        |                     ^
>  C:/msys64/home/shentey/Projects/qemu/src/include/qemu/osdep.h:240:8: note: 
> in expansion of macro 'G_NORETURN'
>  240 | extern G_NORETURN
>        |        ^~~~~~~~~~
>  C:/msys64/mingw64/include/glib-2.0/glib/gmacros.h:1075:21: note: standard 
> attributes must precede the decl-specifiers to apply to the declaration, or 
> follow them to apply to the type
>  1075 | # define G_NORETURN [[noreturn]]
>        |                     ^
>  C:/msys64/home/shentey/Projects/qemu/src/include/qemu/osdep.h:240:8: note: 
> in expansion of macro 'G_NORETURN'
>  240 | extern G_NORETURN
>        |        ^~~~~~~~~~
>  C:/msys64/mingw64/include/glib-2.0/glib/gmacros.h:1075:21: error: attribute 
> ignored [-Werror=attributes]
>  1075 | # define G_NORETURN [[noreturn]]
>        |                     ^
>  C:/msys64/home/shentey/Projects/qemu/src/include/qemu/osdep.h:240:8: note: 
> in expansion of macro 'G_NORETURN'
>  240 | extern G_NORETURN
>        |        ^~~~~~~~~~
>  C:/msys64/mingw64/include/glib-2.0/glib/gmacros.h:1075:21: note: an 
> attribute that appertains to a type-specifier is ignored
>  1075 | # define G_NORETURN [[noreturn]]
>        |                     ^
>  C:/msys64/home/shentey/Projects/qemu/src/include/qemu/osdep.h:240:8: note: 
> in expansion of macro 'G_NORETURN'
>  240 | extern G_NORETURN
>        |        ^~~~~~~~~~
>  cc1plus.exe: all warnings being treated as errors
>
>Apparently it also fixes the compilation with Clang 15 (see
>https://gitlab.com/qemu-project/qemu/-/issues/1541 ).
>
>Signed-off-by: Bernhard Beschow <shentey@gmail.com>
>---
> include/qemu/osdep.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
>index f68b5d8708..9eff0be95b 100644
>--- a/include/qemu/osdep.h
>+++ b/include/qemu/osdep.h
>@@ -237,7 +237,7 @@ extern "C" {
>  * supports QEMU_ERROR, this will be reported at compile time; otherwise
>  * this will be reported at link time due to the missing symbol.
>  */
>-extern G_NORETURN
>+G_NORETURN extern
> void QEMU_ERROR("code path is reachable")
>     qemu_build_not_reached_always(void);
> #if defined(__OPTIMIZE__) && !defined(__NO_INLINE__)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]