[PATCH-for-7.0 v2] qga/vss-win32: fix compilation with clang++

Helge Konetzka posted 1 patch 2 years, 1 month ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/39400817-3dc9-516d-9096-bc1f68862531@zapateado.de
Maintainers: Konstantin Kostiuk <kkostiuk@redhat.com>, Michael Roth <michael.roth@amd.com>
qga/vss-win32/install.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH-for-7.0 v2] qga/vss-win32: fix compilation with clang++
Posted by Helge Konetzka 2 years, 1 month ago
This fixes:

qga/vss-win32/install.cpp:49:24: error: cannot initialize a variable of
type 'char *' with an rvalue of type 'const char *'
     char *msg = NULL, *nul = strchr(text, '(');
                        ^     ~~~~~~~~~~~~~~~~~

Signed-off-by: Helge Konetzka <hk@zapateado.de>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
Compiling with clang++ of msys2 toolchain clang64 leads to

[1445/1747] Compiling C++ object qga/vss-win32/qga-vss.dll.p/install.cpp.obj
FAILED: qga/vss-win32/qga-vss.dll.p/install.cpp.obj
...
qga/vss-win32/install.cpp:49:24: error: cannot initialize a variable of 
type 'char *' with an rvalue of type 'const char *'
     char *msg = NULL, *nul = strchr(text, '(');
                        ^     ~~~~~~~~~~~~~~~~~
1 error generated.
ninja: build stopped: subcommand failed.
make: *** [Makefile:163: run-ninja] Error 1
==> ERROR: A failure occurred in build().
     Aborting...
---
  qga/vss-win32/install.cpp | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/qga/vss-win32/install.cpp b/qga/vss-win32/install.cpp
index 8076efe3cb..b57508fbe0 100644
--- a/qga/vss-win32/install.cpp
+++ b/qga/vss-win32/install.cpp
@@ -46,7 +46,8 @@ void errmsg(DWORD err, const char *text)
       * If text doesn't contains '(', negative precision is given, which is
       * treated as though it were missing.
       */
-    char *msg = NULL, *nul = strchr(text, '(');
+    char *msg = NULL;
+    const char *nul = strchr(text, '(');
      int len = nul ? nul - text : -1;

      FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
-- 
2.30.2

Re: [PATCH-for-7.0 v2] qga/vss-win32: fix compilation with clang++
Posted by Konstantin Kostiuk 2 years ago
Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com>

On Wed, Mar 16, 2022 at 3:58 PM Helge Konetzka <hk@zapateado.de> wrote:

> This fixes:
>
> qga/vss-win32/install.cpp:49:24: error: cannot initialize a variable of
> type 'char *' with an rvalue of type 'const char *'
>      char *msg = NULL, *nul = strchr(text, '(');
>                         ^     ~~~~~~~~~~~~~~~~~
>
> Signed-off-by: Helge Konetzka <hk@zapateado.de>
> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> Compiling with clang++ of msys2 toolchain clang64 leads to
>
> [1445/1747] Compiling C++ object
> qga/vss-win32/qga-vss.dll.p/install.cpp.obj
> FAILED: qga/vss-win32/qga-vss.dll.p/install.cpp.obj
> ...
> qga/vss-win32/install.cpp:49:24: error: cannot initialize a variable of
> type 'char *' with an rvalue of type 'const char *'
>      char *msg = NULL, *nul = strchr(text, '(');
>                         ^     ~~~~~~~~~~~~~~~~~
> 1 error generated.
> ninja: build stopped: subcommand failed.
> make: *** [Makefile:163: run-ninja] Error 1
> ==> ERROR: A failure occurred in build().
>      Aborting...
> ---
>   qga/vss-win32/install.cpp | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/qga/vss-win32/install.cpp b/qga/vss-win32/install.cpp
> index 8076efe3cb..b57508fbe0 100644
> --- a/qga/vss-win32/install.cpp
> +++ b/qga/vss-win32/install.cpp
> @@ -46,7 +46,8 @@ void errmsg(DWORD err, const char *text)
>        * If text doesn't contains '(', negative precision is given, which
> is
>        * treated as though it were missing.
>        */
> -    char *msg = NULL, *nul = strchr(text, '(');
> +    char *msg = NULL;
> +    const char *nul = strchr(text, '(');
>       int len = nul ? nul - text : -1;
>
>       FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
> --
> 2.30.2
>
>
Re: ping [PATCH-for-7.0 v2] qga/vss-win32: fix compilation with clang++
Posted by Helge Konetzka 2 years, 1 month ago
ping

https://lore.kernel.org/qemu-devel/39400817-3dc9-516d-9096-bc1f68862531@zapateado.de/
https://patchew.org/QEMU/39400817-3dc9-516d-9096-bc1f68862531@zapateado.de/

Am 16.03.22 um 14:54 schrieb Helge Konetzka:
> This fixes:
> 
> qga/vss-win32/install.cpp:49:24: error: cannot initialize a variable of
> type 'char *' with an rvalue of type 'const char *'
>      char *msg = NULL, *nul = strchr(text, '(');
>                         ^     ~~~~~~~~~~~~~~~~~
> 
> Signed-off-by: Helge Konetzka <hk@zapateado.de>
> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> Compiling with clang++ of msys2 toolchain clang64 leads to
> 
> [1445/1747] Compiling C++ object 
> qga/vss-win32/qga-vss.dll.p/install.cpp.obj
> FAILED: qga/vss-win32/qga-vss.dll.p/install.cpp.obj
> ...
> qga/vss-win32/install.cpp:49:24: error: cannot initialize a variable of 
> type 'char *' with an rvalue of type 'const char *'
>      char *msg = NULL, *nul = strchr(text, '(');
>                         ^     ~~~~~~~~~~~~~~~~~
> 1 error generated.
> ninja: build stopped: subcommand failed.
> make: *** [Makefile:163: run-ninja] Error 1
> ==> ERROR: A failure occurred in build().
>      Aborting...
> ---
>   qga/vss-win32/install.cpp | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/qga/vss-win32/install.cpp b/qga/vss-win32/install.cpp
> index 8076efe3cb..b57508fbe0 100644
> --- a/qga/vss-win32/install.cpp
> +++ b/qga/vss-win32/install.cpp
> @@ -46,7 +46,8 @@ void errmsg(DWORD err, const char *text)
>        * If text doesn't contains '(', negative precision is given, 
> which is
>        * treated as though it were missing.
>        */
> -    char *msg = NULL, *nul = strchr(text, '(');
> +    char *msg = NULL;
> +    const char *nul = strchr(text, '(');
>       int len = nul ? nul - text : -1;
> 
>       FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |