Patchwork configure: disable clang -Wstring-plus-int warning

login
register
mail settings
Submitter Peter Maydell
Date Aug. 5, 2013, 7:16 p.m.
Message ID <1375730200-22203-1-git-send-email-peter.maydell@linaro.org>
Download mbox | patch
Permalink /patch/264760/
State New
Headers show

Comments

Peter Maydell - Aug. 5, 2013, 7:16 p.m.
Some versions of clang will warn about adding integers to strings:

disas/i386.c:4753:23: error: adding 'char' to a string does not append
      to the string [-Werror,-Wstring-plus-int]
      oappend ("%es:" + intel_syntax);
               ~~~~~~~^~~~~~~~~~~~~~
disas/i386.c:4753:23: note: use array indexing to silence this warning
      oappend ("%es:" + intel_syntax);
                      ^
               &      [             ]

disas/i386.c uses this idiom to to skip a "%" prefix if using intel
rather than AT&T syntax. This seems like a reasonable  thing to do,
and I don't think anybody contributing to QEMU is likely to believe
that '+' is a string concatenation operator in C, so just disable
-Wstring-plus-int.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 configure |    1 +
 1 file changed, 1 insertion(+)
Markus Armbruster - Aug. 6, 2013, 7:22 a.m.
Peter Maydell <peter.maydell@linaro.org> writes:

> Some versions of clang will warn about adding integers to strings:
>
> disas/i386.c:4753:23: error: adding 'char' to a string does not append
>       to the string [-Werror,-Wstring-plus-int]
>       oappend ("%es:" + intel_syntax);
>                ~~~~~~~^~~~~~~~~~~~~~
> disas/i386.c:4753:23: note: use array indexing to silence this warning
>       oappend ("%es:" + intel_syntax);
>                       ^
>                &      [             ]
>
> disas/i386.c uses this idiom to to skip a "%" prefix if using intel
> rather than AT&T syntax. This seems like a reasonable  thing to do,
> and I don't think anybody contributing to QEMU is likely to believe
> that '+' is a string concatenation operator in C, so just disable
> -Wstring-plus-int.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

Yes, please.
Peter Maydell - Aug. 20, 2013, 1:01 p.m.
Ping for qemu-trivial now 1.7 is open.

thanks
-- PMM

On 5 August 2013 20:16, Peter Maydell <peter.maydell@linaro.org> wrote:
> Some versions of clang will warn about adding integers to strings:
>
> disas/i386.c:4753:23: error: adding 'char' to a string does not append
>       to the string [-Werror,-Wstring-plus-int]
>       oappend ("%es:" + intel_syntax);
>                ~~~~~~~^~~~~~~~~~~~~~
> disas/i386.c:4753:23: note: use array indexing to silence this warning
>       oappend ("%es:" + intel_syntax);
>                       ^
>                &      [             ]
>
> disas/i386.c uses this idiom to to skip a "%" prefix if using intel
> rather than AT&T syntax. This seems like a reasonable  thing to do,
> and I don't think anybody contributing to QEMU is likely to believe
> that '+' is a string concatenation operator in C, so just disable
> -Wstring-plus-int.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
>  configure |    1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/configure b/configure
> index a3bd9be..a1d1701 100755
> --- a/configure
> +++ b/configure
> @@ -1204,6 +1204,7 @@ gcc_flags="-Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers $gcc_
>  gcc_flags="-Wmissing-include-dirs -Wempty-body -Wnested-externs $gcc_flags"
>  gcc_flags="-Wendif-labels $gcc_flags"
>  gcc_flags="-Wno-initializer-overrides $gcc_flags"
> +gcc_flags="-Wno-string-plus-int $gcc_flags"
>  # Note that we do not add -Werror to gcc_flags here, because that would
>  # enable it for all configure tests. If a configure test failed due
>  # to -Werror this would just silently disable some features,
> --
> 1.7.9.5
>
>
Michael Tokarev - Sept. 1, 2013, 3:07 p.m.
05.08.2013 23:16, Peter Maydell wrote:
> Some versions of clang will warn about adding integers to strings:
>
> disas/i386.c:4753:23: error: adding 'char' to a string does not append
>        to the string [-Werror,-Wstring-plus-int]
>        oappend ("%es:" + intel_syntax);
>                 ~~~~~~~^~~~~~~~~~~~~~
> disas/i386.c:4753:23: note: use array indexing to silence this warning
>        oappend ("%es:" + intel_syntax);
>                        ^
>                 &      [             ]
>
> disas/i386.c uses this idiom to to skip a "%" prefix if using intel
> rather than AT&T syntax. This seems like a reasonable  thing to do,
> and I don't think anybody contributing to QEMU is likely to believe
> that '+' is a string concatenation operator in C, so just disable
> -Wstring-plus-int.

Thanks, applied to the trivial-patches queue.

/mjt

Patch

diff --git a/configure b/configure
index a3bd9be..a1d1701 100755
--- a/configure
+++ b/configure
@@ -1204,6 +1204,7 @@  gcc_flags="-Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers $gcc_
 gcc_flags="-Wmissing-include-dirs -Wempty-body -Wnested-externs $gcc_flags"
 gcc_flags="-Wendif-labels $gcc_flags"
 gcc_flags="-Wno-initializer-overrides $gcc_flags"
+gcc_flags="-Wno-string-plus-int $gcc_flags"
 # Note that we do not add -Werror to gcc_flags here, because that would
 # enable it for all configure tests. If a configure test failed due
 # to -Werror this would just silently disable some features,