[PATCH] stdlib: DIAG_IGNORE_NEEDS_COMMENT setenv.c

Florian Weimer fweimer@redhat.com
Tue Aug 30 07:15:00 GMT 2022


* Adhemerval Zanella via Libc-alpha:

> Checked on x86_64-linux-gnu.
> ---
>  stdlib/setenv.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/stdlib/setenv.c b/stdlib/setenv.c
> index 2176cbac31..2add8bfb41 100644
> --- a/stdlib/setenv.c
> +++ b/stdlib/setenv.c
> @@ -19,12 +19,14 @@
>  # include <config.h>
>  #endif
>  
> +#if _LIBC
> +# include <libc-diag.h>
>  /* Pacify GCC; see the commentary about VALLEN below.  This is needed
>     at least through GCC 4.9.2.  Pacify GCC for the entire file, as
>     there seems to be no way to pacify GCC selectively, only for the
> -   place where it's needed.  Do not use DIAG_IGNORE_NEEDS_COMMENT
> -   here, as it's not defined yet.  */
> -#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
> +   place where it's needed.  */
> +DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wmaybe-uninitialized");
> +#endif

The comment was added in:

commit 03c1e456b079929a8290aeb4aadb05c0df73bfd2
Author: Paul Eggert <eggert@cs.ucla.edu>
Date:   Sun Apr 19 01:06:33 2015 -0700

    Better fix for setenv (..., NULL, ...)
    
    * stdlib/setenv.c (__add_to_environ):
    Dump core quickly if setenv (..., NULL, ...) is called.
    This time, do it the right way, and pacify GCC with a pragma.

Paul, what did you mean when you wrote “not defined yet”?  Is it a
gnulib thing?

Thanks,
Florian



More information about the Libc-alpha mailing list