Message ID | 20230320131426.16348-1-philmd@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | [PATCH-for-8.0] qemu/osdep.h: Do not declare function prototypes using extern keyword | expand |
On Mon, Mar 20, 2023 at 02:14:26PM +0100, Philippe Mathieu-Daudé wrote: > By default, C function prototypes declared in headers are visible, > so there is no need to declare them as 'extern' functions. Remove > this redundancy. This also fixes when building under MSYS2: > > 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/code/qemu/src/include/qemu/osdep.h:240:8: note: in expansion of macro 'G_NORETURN' > 240 | extern G_NORETURN > | ^~~~~~~~~~ > > Reported-by: Simon Wörner <contact@simon-woerner.de> > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1541 There's already a fix for that issue included in a PULL request from Thomas: https://lists.gnu.org/archive/html/qemu-devel/2023-03/msg05225.html > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> > --- > 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..79c26c748a 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 > void QEMU_ERROR("code path is reachable") > qemu_build_not_reached_always(void); > #if defined(__OPTIMIZE__) && !defined(__NO_INLINE__) > -- > 2.38.1 > With regards, Daniel
On 20/3/23 14:27, Daniel P. Berrangé wrote: > On Mon, Mar 20, 2023 at 02:14:26PM +0100, Philippe Mathieu-Daudé wrote: >> By default, C function prototypes declared in headers are visible, >> so there is no need to declare them as 'extern' functions. Remove >> this redundancy. This also fixes when building under MSYS2: >> >> 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/code/qemu/src/include/qemu/osdep.h:240:8: note: in expansion of macro 'G_NORETURN' >> 240 | extern G_NORETURN >> | ^~~~~~~~~~ >> >> Reported-by: Simon Wörner <contact@simon-woerner.de> >> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1541 > > There's already a fix for that issue included in a PULL request from > Thomas: > > https://lists.gnu.org/archive/html/qemu-devel/2023-03/msg05225.html Not the same patch. I'll rebase and post for 8.1 then I guess :) >> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> >> --- >> 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..79c26c748a 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 >> void QEMU_ERROR("code path is reachable") >> qemu_build_not_reached_always(void); >> #if defined(__OPTIMIZE__) && !defined(__NO_INLINE__) >> -- >> 2.38.1 >> > > With regards, > Daniel
On 20/03/2023 14.47, Philippe Mathieu-Daudé wrote: > On 20/3/23 14:27, Daniel P. Berrangé wrote: >> On Mon, Mar 20, 2023 at 02:14:26PM +0100, Philippe Mathieu-Daudé wrote: >>> By default, C function prototypes declared in headers are visible, >>> so there is no need to declare them as 'extern' functions. Remove >>> this redundancy. This also fixes when building under MSYS2: >>> >>> 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/code/qemu/src/include/qemu/osdep.h:240:8: note: in expansion >>> of macro 'G_NORETURN' >>> 240 | extern G_NORETURN >>> | ^~~~~~~~~~ >>> >>> Reported-by: Simon Wörner <contact@simon-woerner.de> >>> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1541 >> >> There's already a fix for that issue included in a PULL request from >> Thomas: >> >> https://lists.gnu.org/archive/html/qemu-devel/2023-03/msg05225.html > > Not the same patch. I'll rebase and post for 8.1 then I guess :) > >>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> >>> --- >>> 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..79c26c748a 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 Removing the "extern" sounds like a better idea than swapping it... since my PR was not in the staging branch yet, I went ahead and replaced the patch. Thomas
On 20/3/23 15:04, Thomas Huth wrote: > On 20/03/2023 14.47, Philippe Mathieu-Daudé wrote: >> On 20/3/23 14:27, Daniel P. Berrangé wrote: >>> On Mon, Mar 20, 2023 at 02:14:26PM +0100, Philippe Mathieu-Daudé wrote: >>>> By default, C function prototypes declared in headers are visible, >>>> so there is no need to declare them as 'extern' functions. Remove >>>> this redundancy. This also fixes when building under MSYS2: >>>> >>>> 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/code/qemu/src/include/qemu/osdep.h:240:8: note: in >>>> expansion of macro 'G_NORETURN' >>>> 240 | extern G_NORETURN >>>> | ^~~~~~~~~~ >>>> >>>> Reported-by: Simon Wörner <contact@simon-woerner.de> >>>> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1541 >>> >>> There's already a fix for that issue included in a PULL request from >>> Thomas: >>> >>> https://lists.gnu.org/archive/html/qemu-devel/2023-03/msg05225.html >> >> Not the same patch. I'll rebase and post for 8.1 then I guess :) >> >>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> >>>> --- >>>> 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..79c26c748a 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 > > Removing the "extern" sounds like a better idea than swapping it... > since my PR was not in the staging branch yet, I went ahead and replaced > the patch. Thank you!
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h index f68b5d8708..79c26c748a 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 void QEMU_ERROR("code path is reachable") qemu_build_not_reached_always(void); #if defined(__OPTIMIZE__) && !defined(__NO_INLINE__)
By default, C function prototypes declared in headers are visible, so there is no need to declare them as 'extern' functions. Remove this redundancy. This also fixes when building under MSYS2: 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/code/qemu/src/include/qemu/osdep.h:240:8: note: in expansion of macro 'G_NORETURN' 240 | extern G_NORETURN | ^~~~~~~~~~ Reported-by: Simon Wörner <contact@simon-woerner.de> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1541 Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- include/qemu/osdep.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)