[PATCH 35/39] Suppress Clang -Wgnu-folding-constant warnings

Sam James sam@gentoo.org
Sun Dec 22 04:58:01 GMT 2024


"H.J. Lu" <hjl.tools@gmail.com> writes:

> Suppress Clang -Wgnu-folding-constant warnings, like
>
> tst-freopen.c:44:13: error: variable length array folded to constant array as an extension [-Werror,-Wgnu-folding-constant]
>    44 |   char temp[strlen (test) + 1];
>       |             ^~~~~~~~~~~~~~~~~
>
> Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
> ---
>  libio/tst-freopen.c      | 4 ++++
>  libio/tst-mmap-setvbuf.c | 4 ++++
>  2 files changed, 8 insertions(+)
>
> diff --git a/libio/tst-freopen.c b/libio/tst-freopen.c
> index 23ceb9694f..bb81eb58e7 100644
> --- a/libio/tst-freopen.c
> +++ b/libio/tst-freopen.c
> @@ -20,6 +20,7 @@
>  #include <stdlib.h>
>  #include <string.h>
>  #include <unistd.h>
> +#include <libc-diag.h>
>  
>  #include <support/check.h>
>  #include <support/temp_file.h>
> @@ -41,7 +42,10 @@ static void
>  do_test_basic (void)
>  {
>    const char * const test = "Let's test freopen.\n";
> +  DIAG_PUSH_NEEDS_COMMENT_CLANG;
> +  DIAG_IGNORE_NEEDS_COMMENT_CLANG (3.4, "-Wgnu-folding-constant");
>    char temp[strlen (test) + 1];
> +  DIAG_POP_NEEDS_COMMENT_CLANG;
>  
>    FILE *f = fdopen (fd, "w");
>    if (f == NULL)
> diff --git a/libio/tst-mmap-setvbuf.c b/libio/tst-mmap-setvbuf.c
> index 1c24993caf..85543e8b33 100644
> --- a/libio/tst-mmap-setvbuf.c
> +++ b/libio/tst-mmap-setvbuf.c
> @@ -20,13 +20,17 @@
>  #include <stdlib.h>
>  #include <string.h>
>  #include <unistd.h>
> +#include <libc-diag.h>
>  
>  int main (void)
>  {
>    char name[] = "/tmp/tst-mmap-setvbuf.XXXXXX";
>    char buf[4096];
>    const char * const test = "Let's see if mmap stdio works with setvbuf.\n";
> +  DIAG_PUSH_NEEDS_COMMENT_CLANG;
> +  DIAG_IGNORE_NEEDS_COMMENT_CLANG (3.4, "-Wgnu-folding-constant");
>    char temp[strlen (test) + 1];
> +  DIAG_POP_NEEDS_COMMENT_CLANG;
>    int fd = mkstemp (name);
>    FILE *f;

Reviewed-by: Sam James <sam@gentoo.org>


More information about the Libc-alpha mailing list