[PATCH 05/59] Suppress -Wmaybe-uninitialized only for gcc

Sam James sam@gentoo.org
Mon Oct 20 19:42:30 GMT 2025


Adhemerval Zanella <adhemerval.zanella@linaro.org> writes:

> The warning is not supported by clang.

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

> ---
>  elf/dl-load.c                                    |  2 +-
>  hurd/hurdsig.c                                   |  2 +-
>  iconv/loop.c                                     |  2 +-
>  iconvdata/iso-2022-cn-ext.c                      |  2 +-
>  include/libc-diag.h                              |  3 +++
>  locale/weight.h                                  |  6 +++---
>  locale/weightwc.h                                |  8 ++++----
>  malloc/malloc-check.c                            |  2 +-
>  nis/nis_table.c                                  |  2 +-
>  nptl_db/thread_dbP.h                             |  2 +-
>  posix/regexec.c                                  |  2 +-
>  resolv/res_send.c                                | 10 +++++-----
>  stdio-common/vfscanf-internal.c                  |  2 +-
>  string/strcoll_l.c                               |  4 ++--
>  string/wordcopy.c                                |  6 +++---
>  sunrpc/clnt_udp.c                                |  2 +-
>  sysdeps/ieee754/dbl-64/e_lgamma_r.c              |  2 +-
>  sysdeps/ieee754/dbl-64/s_log1p.c                 |  2 +-
>  sysdeps/ieee754/ldbl-128/k_tanl.c                |  2 +-
>  sysdeps/ieee754/ldbl-128ibm/k_tanl.c             |  2 +-
>  sysdeps/ieee754/ldbl-96/e_lgammal_r.c            |  2 +-
>  sysdeps/ieee754/ldbl-96/k_tanl.c                 |  2 +-
>  sysdeps/ieee754/soft-fp/s_ddivl.c                |  2 +-
>  sysdeps/ieee754/soft-fp/s_dfmal.c                |  2 +-
>  sysdeps/ieee754/soft-fp/s_dsqrtl.c               |  2 +-
>  sysdeps/ieee754/soft-fp/s_fdiv.c                 |  2 +-
>  sysdeps/ieee754/soft-fp/s_fdivl.c                |  3 +--
>  sysdeps/ieee754/soft-fp/s_ffma.c                 |  2 +-
>  sysdeps/ieee754/soft-fp/s_ffmal.c                |  2 +-
>  sysdeps/ieee754/soft-fp/s_fma.c                  |  2 +-
>  sysdeps/ieee754/soft-fp/s_fmaf.c                 |  2 +-
>  sysdeps/ieee754/soft-fp/s_fmal.c                 |  2 +-
>  sysdeps/ieee754/soft-fp/s_fsqrt.c                |  2 +-
>  sysdeps/unix/sysv/linux/convert_scm_timestamps.c |  2 +-
>  34 files changed, 48 insertions(+), 46 deletions(-)
>
> diff --git a/elf/dl-load.c b/elf/dl-load.c
> index 674bae2cbb..0c57b86e3c 100644
> --- a/elf/dl-load.c
> +++ b/elf/dl-load.c
> @@ -1161,7 +1161,7 @@ _dl_map_object_from_fd (const char *name, const char *origname, int fd,
>  	     ‘(((char *)loadcmds.113_68 + _933 + 16))[329406144173384849].mapend’ may be used uninitialized [-Wmaybe-uninitialized]
>  	     See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106008
>  	   */
> -	  DIAG_IGNORE_NEEDS_COMMENT (11, "-Wmaybe-uninitialized");
> +	  DIAG_IGNORE_NEEDS_COMMENT_GCC (11, "-Wmaybe-uninitialized");
>  #endif
>  	  /* Determine whether there is a gap between the last segment
>  	     and this one.  */
> diff --git a/hurd/hurdsig.c b/hurd/hurdsig.c
> index 2f04f0ac9c..672bc06f88 100644
> --- a/hurd/hurdsig.c
> +++ b/hurd/hurdsig.c
> @@ -376,7 +376,7 @@ interrupted_reply_port_location (thread_t thread,
>    /* GCC 6 and before seem to be confused by the setjmp call inside
>       _hurdsig_catch_memory_fault and think that we may be returning a second
>       time to here with portloc uninitialized (but we never do). */
> -  DIAG_IGNORE_NEEDS_COMMENT (6, "-Wmaybe-uninitialized");
> +  DIAG_IGNORE_NEEDS_COMMENT_GCC (6, "-Wmaybe-uninitialized");
>    /* Fault now if this pointer is bogus.  */
>    *(volatile mach_port_t *) portloc = *portloc;
>    DIAG_POP_NEEDS_COMMENT;
> diff --git a/iconv/loop.c b/iconv/loop.c
> index 1378d23147..908890e56e 100644
> --- a/iconv/loop.c
> +++ b/iconv/loop.c
> @@ -194,7 +194,7 @@
>     has a comment referencing this diagnostic disabling; updates in one
>     place may require updates in the other.  */
>  DIAG_PUSH_NEEDS_COMMENT;
> -DIAG_IGNORE_Os_NEEDS_COMMENT (7, "-Wmaybe-uninitialized");
> +DIAG_IGNORE_Os_NEEDS_COMMENT_GCC (7, "-Wmaybe-uninitialized");
>  /* Handling of Unicode 3.1 TAG characters.  Unicode recommends
>     "If language codes are not relevant to the particular processing
>      operation, then they should be ignored."  This macro is usually
> diff --git a/iconvdata/iso-2022-cn-ext.c b/iconvdata/iso-2022-cn-ext.c
> index 47ec58f16e..2afa5e3b4d 100644
> --- a/iconvdata/iso-2022-cn-ext.c
> +++ b/iconvdata/iso-2022-cn-ext.c
> @@ -403,7 +403,7 @@ enum
>     involved in determining the code page and is the indicator that
>     tmpbuf[2] is initialized.  */
>  DIAG_PUSH_NEEDS_COMMENT;
> -DIAG_IGNORE_Os_NEEDS_COMMENT (5, "-Wmaybe-uninitialized");
> +DIAG_IGNORE_Os_NEEDS_COMMENT_GCC (5, "-Wmaybe-uninitialized");
>  #define BODY \
>    {									      \
>      uint32_t ch;							      \
> diff --git a/include/libc-diag.h b/include/libc-diag.h
> index f48b646d08..af48bca430 100644
> --- a/include/libc-diag.h
> +++ b/include/libc-diag.h
> @@ -86,9 +86,12 @@
>  #ifndef __clang__
>  # define DIAG_IGNORE_NEEDS_COMMENT_GCC(VERSION, WARNING) \
>    DIAG_IGNORE_NEEDS_COMMENT (VERSION, WARNING)
> +# define DIAG_IGNORE_Os_NEEDS_COMMENT_GCC(VERSION, WARNING) \
> +  DIAG_IGNORE_Os_NEEDS_COMMENT (VERSION, WARNING)
>  # define DIAG_IGNORE_NEEDS_COMMENT_CLANG(version, option)
>  #else
>  # define DIAG_IGNORE_NEEDS_COMMENT_GCC(VERSION, WARNING)
> +# define DIAG_IGNORE_Os_NEEDS_COMMENT_GCC(VERSION, WARNING)
>  # define DIAG_IGNORE_NEEDS_COMMENT_CLANG(version, option) \
>    _Pragma (_DIAG_STR (clang diagnostic ignored option))
>  #endif
> diff --git a/locale/weight.h b/locale/weight.h
> index 6242de45e2..991212a2e5 100644
> --- a/locale/weight.h
> +++ b/locale/weight.h
> @@ -32,7 +32,7 @@ findidx (const int32_t *table,
>       This uninitialized use is impossible for the same reason
>       as described in comments in locale/weightwc.h.  */
>    DIAG_PUSH_NEEDS_COMMENT;
> -  DIAG_IGNORE_Os_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
> +  DIAG_IGNORE_Os_NEEDS_COMMENT_GCC (8, "-Wmaybe-uninitialized");
>    int32_t i = table[*(*cpp)++];
>    DIAG_POP_NEEDS_COMMENT;
>    const unsigned char *cp;
> @@ -75,7 +75,7 @@ findidx (const int32_t *table,
>  	     of -1 for len at the same time which means that this loop
>  	     never executes.  */
>  	  DIAG_PUSH_NEEDS_COMMENT;
> -	  DIAG_IGNORE_Os_NEEDS_COMMENT (5, "-Wmaybe-uninitialized");
> +	  DIAG_IGNORE_Os_NEEDS_COMMENT_GCC (5, "-Wmaybe-uninitialized");
>  	  for (cnt = 0; cnt < nhere && cnt < len; ++cnt)
>  	    if (cp[cnt] != usrc[cnt])
>  	      break;
> @@ -144,7 +144,7 @@ findidx (const int32_t *table,
>  		     is impossible for the same reason as described
>  		     above.  */
>  		  DIAG_PUSH_NEEDS_COMMENT;
> -		  DIAG_IGNORE_Os_NEEDS_COMMENT (7, "-Wmaybe-uninitialized");
> +		  DIAG_IGNORE_Os_NEEDS_COMMENT_GCC (7, "-Wmaybe-uninitialized");
>  		  offset += usrc[cnt] - cp[cnt];
>  		  DIAG_POP_NEEDS_COMMENT;
>  		}
> diff --git a/locale/weightwc.h b/locale/weightwc.h
> index 3b6c2aec8a..4df7a27d6b 100644
> --- a/locale/weightwc.h
> +++ b/locale/weightwc.h
> @@ -33,7 +33,7 @@ findidx (const int32_t *table,
>       called except in cases where those fields have been
>       initialized.  */
>    DIAG_PUSH_NEEDS_COMMENT;
> -  DIAG_IGNORE_Os_NEEDS_COMMENT (7, "-Wmaybe-uninitialized");
> +  DIAG_IGNORE_Os_NEEDS_COMMENT_GCC (7, "-Wmaybe-uninitialized");
>    wint_t ch = *(*cpp)++;
>    DIAG_POP_NEEDS_COMMENT;
>    int32_t i = __collidx_table_lookup ((const char *) table, ch);
> @@ -74,7 +74,7 @@ findidx (const int32_t *table,
>  	     of -1 for len at the same time which means that this loop
>  	     never executes.  */
>  	  DIAG_PUSH_NEEDS_COMMENT;
> -	  DIAG_IGNORE_Os_NEEDS_COMMENT (5, "-Wmaybe-uninitialized");
> +	  DIAG_IGNORE_Os_NEEDS_COMMENT_GCC (5, "-Wmaybe-uninitialized");
>  	  for (cnt = 0; cnt < nhere && cnt < len; ++cnt)
>  	    if (cp[cnt] != usrc[cnt])
>  	      break;
> @@ -102,7 +102,7 @@ findidx (const int32_t *table,
>  	     might be used uninitialized.  This is impossible for the
>  	     same reason as described above.  */
>  	  DIAG_PUSH_NEEDS_COMMENT;
> -	  DIAG_IGNORE_Os_NEEDS_COMMENT (7, "-Wmaybe-uninitialized");
> +	  DIAG_IGNORE_Os_NEEDS_COMMENT_GCC (7, "-Wmaybe-uninitialized");
>  	  for (cnt = 0; cnt < nhere - 1 && cnt < len; ++cnt)
>  	    if (cp[cnt] != usrc[cnt])
>  	      break;
> @@ -119,7 +119,7 @@ findidx (const int32_t *table,
>  	     might be used uninitialized.  This is impossible for the
>  	     same reason as described above.  */
>  	  DIAG_PUSH_NEEDS_COMMENT;
> -	  DIAG_IGNORE_Os_NEEDS_COMMENT (7, "-Wmaybe-uninitialized");
> +	  DIAG_IGNORE_Os_NEEDS_COMMENT_GCC (7, "-Wmaybe-uninitialized");
>  	  if (cp[nhere - 1] > usrc[nhere - 1])
>  	    {
>  	      cp += 2 * nhere;
> diff --git a/malloc/malloc-check.c b/malloc/malloc-check.c
> index bfb88ca84e..820d6f5829 100644
> --- a/malloc/malloc-check.c
> +++ b/malloc/malloc-check.c
> @@ -318,7 +318,7 @@ realloc_check (void *oldmem, size_t bytes)
>  #if __GNUC_PREREQ (7, 0)
>    /* GCC 7 warns about magic_p may be used uninitialized.  But we never
>       reach here if magic_p is uninitialized.  */
> -  DIAG_IGNORE_NEEDS_COMMENT (7, "-Wmaybe-uninitialized");
> +  DIAG_IGNORE_NEEDS_COMMENT_GCC (7, "-Wmaybe-uninitialized");
>  #endif
>    /* mem2chunk_check changed the magic byte in the old chunk.
>       If newmem is NULL, then the old chunk will still be used though,
> diff --git a/nis/nis_table.c b/nis/nis_table.c
> index 64df81063b..7b791b7e0a 100644
> --- a/nis/nis_table.c
> +++ b/nis/nis_table.c
> @@ -180,7 +180,7 @@ __follow_path (char **tablepath, char **tableptr, struct ib_request *ibreq,
>    /* Since tableptr is only set here, and it's set when tablepath is NULL,
>       which it is initially defined as, we know it will always be set here.  */
>    DIAG_PUSH_NEEDS_COMMENT;
> -  DIAG_IGNORE_NEEDS_COMMENT (4.7, "-Wmaybe-uninitialized");
> +  DIAG_IGNORE_NEEDS_COMMENT_GCC (4.7, "-Wmaybe-uninitialized");
>  
>    if (*tableptr == NULL)
>      return NIS_NOTFOUND;
> diff --git a/nptl_db/thread_dbP.h b/nptl_db/thread_dbP.h
> index 41a46764e3..25c49fd9e9 100644
> --- a/nptl_db/thread_dbP.h
> +++ b/nptl_db/thread_dbP.h
> @@ -176,7 +176,7 @@ extern ps_err_e td_mod_lookup (struct ps_prochandle *ps, const char *modname,
>     when DB_GET_FIELD_ADDRESS is called with a slot for ptr, the slot is
>     always initialized.  */
>  DIAG_PUSH_NEEDS_COMMENT;
> -DIAG_IGNORE_Os_NEEDS_COMMENT (5, "-Wmaybe-uninitialized");
> +DIAG_IGNORE_Os_NEEDS_COMMENT_GCC (5, "-Wmaybe-uninitialized");
>  #define DB_GET_FIELD_ADDRESS(var, ta, ptr, type, field, idx) \
>    ((var) = (ptr), _td_locate_field ((ta), (ta)->ta_field_##type##_##field, \
>  				    SYM_##type##_FIELD_##field, \
> diff --git a/posix/regexec.c b/posix/regexec.c
> index fc1310025f..de0d838fa4 100644
> --- a/posix/regexec.c
> +++ b/posix/regexec.c
> @@ -3772,7 +3772,7 @@ check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx,
>  		 however the loop will be executed iff ncoll_syms is larger
>  		 than 0,which means extra will be already initialized.  */
>  	      DIAG_PUSH_NEEDS_COMMENT;
> -	      DIAG_IGNORE_Os_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
> +	      DIAG_IGNORE_Os_NEEDS_COMMENT_GCC (8, "-Wmaybe-uninitialized");
>  	      const unsigned char *coll_sym = extra + cset->coll_syms[i];
>  	      DIAG_POP_NEEDS_COMMENT;
>  	      /* Compare the length of input collating element and
> diff --git a/resolv/res_send.c b/resolv/res_send.c
> index 802675995d..3beb7dc732 100644
> --- a/resolv/res_send.c
> +++ b/resolv/res_send.c
> @@ -266,7 +266,7 @@ __res_context_send (struct resolv_context *ctx,
>  	   Here the variable n is set to the return value of send_vc.
>  	   See below.  */
>  	DIAG_PUSH_NEEDS_COMMENT;
> -	DIAG_IGNORE_NEEDS_COMMENT (9, "-Wmaybe-uninitialized");
> +	DIAG_IGNORE_NEEDS_COMMENT_GCC (9, "-Wmaybe-uninitialized");
>  	int n;
>  	DIAG_POP_NEEDS_COMMENT;
>  
> @@ -364,7 +364,7 @@ __res_context_send (struct resolv_context *ctx,
>  				return (-1);
>  			/* See comment at the declaration of n.  */
>  			DIAG_PUSH_NEEDS_COMMENT;
> -			DIAG_IGNORE_NEEDS_COMMENT (9, "-Wmaybe-uninitialized");
> +			DIAG_IGNORE_NEEDS_COMMENT_GCC (9, "-Wmaybe-uninitialized");
>  			if (n == 0 && (buf2 == NULL || *resplen2 == 0))
>  				goto next_ns;
>  			DIAG_POP_NEEDS_COMMENT;
> @@ -388,7 +388,7 @@ __res_context_send (struct resolv_context *ctx,
>  
>  		/* See comment at the declaration of n.  Note: resplen = n;  */
>  		DIAG_PUSH_NEEDS_COMMENT;
> -		DIAG_IGNORE_NEEDS_COMMENT (9, "-Wmaybe-uninitialized");
> +		DIAG_IGNORE_NEEDS_COMMENT_GCC (9, "-Wmaybe-uninitialized");
>  		/* Mask the AD bit in both responses unless it is
>  		   marked trusted.  */
>  		if (resplen > HFIXEDSZ)
> @@ -580,7 +580,7 @@ send_vc(res_state statp,
>  	   a false-positive.
>  	 */
>  	DIAG_PUSH_NEEDS_COMMENT;
> -	DIAG_IGNORE_NEEDS_COMMENT (5, "-Wmaybe-uninitialized");
> +	DIAG_IGNORE_NEEDS_COMMENT_GCC (5, "-Wmaybe-uninitialized");
>  	int resplen;
>  	DIAG_POP_NEEDS_COMMENT;
>  	struct iovec iov[4];
> @@ -852,7 +852,7 @@ reopen (res_state statp, int *terrno, int ns)
>  		   the function return -1 before control flow reaches
>  		   the call to connect with slen.  */
>  		DIAG_PUSH_NEEDS_COMMENT;
> -		DIAG_IGNORE_Os_NEEDS_COMMENT (5, "-Wmaybe-uninitialized");
> +		DIAG_IGNORE_NEEDS_COMMENT_GCC (5, "-Wmaybe-uninitialized");
>  		if (__connect (EXT (statp).nssocks[ns], nsap, slen) < 0) {
>  		DIAG_POP_NEEDS_COMMENT;
>  			__res_iclose(statp, false);
> diff --git a/stdio-common/vfscanf-internal.c b/stdio-common/vfscanf-internal.c
> index d8facb6e89..c6361f74e0 100644
> --- a/stdio-common/vfscanf-internal.c
> +++ b/stdio-common/vfscanf-internal.c
> @@ -1631,7 +1631,7 @@ __vfscanf_internal (FILE *s, const char *format, va_list argptr,
>  			 above, but the test for "map != NULL" is done
>  			 inside the loop here and outside the loop there.  */
>  		      DIAG_PUSH_NEEDS_COMMENT;
> -		      DIAG_IGNORE_NEEDS_COMMENT (4.7, "-Wmaybe-uninitialized");
> +		      DIAG_IGNORE_NEEDS_COMMENT_GCC (4.7, "-Wmaybe-uninitialized");
>  
>  		      if (__glibc_unlikely (map != NULL))
>  			wcdigits[n] = digits_extended[n];
> diff --git a/string/strcoll_l.c b/string/strcoll_l.c
> index 72388f0322..c152421744 100644
> --- a/string/strcoll_l.c
> +++ b/string/strcoll_l.c
> @@ -180,7 +180,7 @@ get_next_seq (coll_seq *seq, int nrules, const unsigned char *rulesets,
>  	 ensures that seq->save_idx was saved to first and contains a
>  	 valid value.  */
>        DIAG_PUSH_NEEDS_COMMENT;
> -      DIAG_IGNORE_Os_NEEDS_COMMENT (5, "-Wmaybe-uninitialized");
> +      DIAG_IGNORE_Os_NEEDS_COMMENT_GCC (5, "-Wmaybe-uninitialized");
>        len = weights[idx++];
>        DIAG_POP_NEEDS_COMMENT;
>        /* Skip over indices of previous levels.  */
> @@ -299,7 +299,7 @@ STRCOLL (const STRING_TYPE *s1, const STRING_TYPE *s2, locale_t l)
>       seq2.  This uninitialized use is impossible for the same reason
>       as described in comments in locale/weightwc.h.  */
>    DIAG_PUSH_NEEDS_COMMENT;
> -  DIAG_IGNORE_Os_NEEDS_COMMENT (7, "-Wmaybe-uninitialized");
> +  DIAG_IGNORE_Os_NEEDS_COMMENT_GCC (7, "-Wmaybe-uninitialized");
>    coll_seq seq1, seq2;
>    DIAG_POP_NEEDS_COMMENT;
>    seq1.len = 0;
> diff --git a/string/wordcopy.c b/string/wordcopy.c
> index 6926d9df7d..7bdc88643c 100644
> --- a/string/wordcopy.c
> +++ b/string/wordcopy.c
> @@ -29,7 +29,7 @@
>     Since the usage is within the MERGE macro we disable the
>     warning in the definition, but only in this file.  */
>  DIAG_PUSH_NEEDS_COMMENT;
> -DIAG_IGNORE_NEEDS_COMMENT (6, "-Wmaybe-uninitialized");
> +DIAG_IGNORE_NEEDS_COMMENT_GCC (6, "-Wmaybe-uninitialized");
>  #include <memcopy.h>
>  DIAG_POP_NEEDS_COMMENT;
>  
> @@ -112,7 +112,7 @@ WORDCOPY_FWD_ALIGNED (long int dstp, long int srcp, size_t len)
>  	 case. The switch case always sets 'a1' and all previous loop
>  	 iterations will also have set 'a1' before the use.  */
>        DIAG_PUSH_NEEDS_COMMENT;
> -      DIAG_IGNORE_NEEDS_COMMENT (6, "-Wmaybe-uninitialized");
> +      DIAG_IGNORE_NEEDS_COMMENT_GCC (6, "-Wmaybe-uninitialized");
>        ((op_t *) dstp)[0] = a1;
>        DIAG_POP_NEEDS_COMMENT;
>      do7:
> @@ -313,7 +313,7 @@ WORDCOPY_BWD_ALIGNED (long int dstp, long int srcp, size_t len)
>        a0 = ((op_t *) srcp)[7];
>        /* Check the comment on WORDCOPY_FWD_ALIGNED.  */
>        DIAG_PUSH_NEEDS_COMMENT;
> -      DIAG_IGNORE_NEEDS_COMMENT (6, "-Wmaybe-uninitialized");
> +      DIAG_IGNORE_NEEDS_COMMENT_GCC (6, "-Wmaybe-uninitialized");
>        ((op_t *) dstp)[7] = a1;
>        DIAG_POP_NEEDS_COMMENT;
>      do7:
> diff --git a/sunrpc/clnt_udp.c b/sunrpc/clnt_udp.c
> index ee79b09b40..4353e5da18 100644
> --- a/sunrpc/clnt_udp.c
> +++ b/sunrpc/clnt_udp.c
> @@ -299,7 +299,7 @@ clntudp_call (/* client handle */
>       inet/net-internal.h because in some other configurations GCC
>       gives the warning in an inline function.  */
>    DIAG_PUSH_NEEDS_COMMENT;
> -  DIAG_IGNORE_NEEDS_COMMENT (10, "-Wmaybe-uninitialized");
> +  DIAG_IGNORE_NEEDS_COMMENT_GCC (10, "-Wmaybe-uninitialized");
>    struct deadline total_deadline; /* Determined once by overall timeout.  */
>    DIAG_POP_NEEDS_COMMENT;
>    struct deadline response_deadline; /* Determined anew for each query.  */
> diff --git a/sysdeps/ieee754/dbl-64/e_lgamma_r.c b/sysdeps/ieee754/dbl-64/e_lgamma_r.c
> index 72c68b6682..c298c8ca03 100644
> --- a/sysdeps/ieee754/dbl-64/e_lgamma_r.c
> +++ b/sysdeps/ieee754/dbl-64/e_lgamma_r.c
> @@ -304,7 +304,7 @@ __ieee754_lgamma_r(double x, int *signgamp)
>  	   although in the cases where it is used it has always been
>  	   set.  */
>  	DIAG_PUSH_NEEDS_COMMENT;
> -	DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wmaybe-uninitialized");
> +	DIAG_IGNORE_NEEDS_COMMENT_GCC (4.9, "-Wmaybe-uninitialized");
>  	if(hx<0) r = nadj - r;
>  	DIAG_POP_NEEDS_COMMENT;
>  	return r;
> diff --git a/sysdeps/ieee754/dbl-64/s_log1p.c b/sysdeps/ieee754/dbl-64/s_log1p.c
> index eeb0af859f..f52c0124fc 100644
> --- a/sysdeps/ieee754/dbl-64/s_log1p.c
> +++ b/sysdeps/ieee754/dbl-64/s_log1p.c
> @@ -205,7 +205,7 @@ __log1p (double x)
>  	 must be 0 for c to be uninitialized and we handled that
>  	 computation earlier without using c.  */
>        DIAG_PUSH_NEEDS_COMMENT;
> -      DIAG_IGNORE_Os_NEEDS_COMMENT (7, "-Wmaybe-uninitialized");
> +      DIAG_IGNORE_Os_NEEDS_COMMENT_GCC (7, "-Wmaybe-uninitialized");
>        return k * ln2_hi - ((hfsq - (s * (hfsq + R) + (k * ln2_lo + c))) - f);
>        DIAG_POP_NEEDS_COMMENT;
>      }
> diff --git a/sysdeps/ieee754/ldbl-128/k_tanl.c b/sysdeps/ieee754/ldbl-128/k_tanl.c
> index 8e93626a89..af10fbc64b 100644
> --- a/sysdeps/ieee754/ldbl-128/k_tanl.c
> +++ b/sysdeps/ieee754/ldbl-128/k_tanl.c
> @@ -143,7 +143,7 @@ __kernel_tanl (_Float128 x, _Float128 y, int iy)
>  	 uninitialized although in the cases where it is used it has
>  	 always been set.  */
>        DIAG_PUSH_NEEDS_COMMENT;
> -      DIAG_IGNORE_NEEDS_COMMENT (5, "-Wmaybe-uninitialized");
> +      DIAG_IGNORE_NEEDS_COMMENT_GCC (5, "-Wmaybe-uninitialized");
>        if (sign < 0)
>  	w = -w;
>        DIAG_POP_NEEDS_COMMENT;
> diff --git a/sysdeps/ieee754/ldbl-128ibm/k_tanl.c b/sysdeps/ieee754/ldbl-128ibm/k_tanl.c
> index cd95e46089..7a42a18e55 100644
> --- a/sysdeps/ieee754/ldbl-128ibm/k_tanl.c
> +++ b/sysdeps/ieee754/ldbl-128ibm/k_tanl.c
> @@ -143,7 +143,7 @@ __kernel_tanl (long double x, long double y, int iy)
>  	 uninitialized although in the cases where it is used it has
>  	 always been set.  */
>        DIAG_PUSH_NEEDS_COMMENT;
> -      DIAG_IGNORE_NEEDS_COMMENT (5, "-Wmaybe-uninitialized");
> +      DIAG_IGNORE_NEEDS_COMMENT_GCC (5, "-Wmaybe-uninitialized");
>        if (sign < 0)
>  	w = -w;
>        DIAG_POP_NEEDS_COMMENT;
> diff --git a/sysdeps/ieee754/ldbl-96/e_lgammal_r.c b/sysdeps/ieee754/ldbl-96/e_lgammal_r.c
> index 148c21bb8d..d4fd7f5272 100644
> --- a/sysdeps/ieee754/ldbl-96/e_lgammal_r.c
> +++ b/sysdeps/ieee754/ldbl-96/e_lgammal_r.c
> @@ -431,7 +431,7 @@ __ieee754_lgammal_r (long double x, int *signgamp)
>       in warnings that it may be used uninitialized although in the
>       cases where it is used it has always been set.  */
>    DIAG_PUSH_NEEDS_COMMENT;
> -  DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wmaybe-uninitialized");
> +  DIAG_IGNORE_NEEDS_COMMENT_GCC (4.9, "-Wmaybe-uninitialized");
>    if (se & 0x8000)
>      r = nadj - r;
>    DIAG_POP_NEEDS_COMMENT;
> diff --git a/sysdeps/ieee754/ldbl-96/k_tanl.c b/sysdeps/ieee754/ldbl-96/k_tanl.c
> index 43a5aa4423..462795574f 100644
> --- a/sysdeps/ieee754/ldbl-96/k_tanl.c
> +++ b/sysdeps/ieee754/ldbl-96/k_tanl.c
> @@ -140,7 +140,7 @@ __kernel_tanl (long double x, long double y, int iy)
>          uninitialized although in the cases where it is used it has
>          always been set.  */
>        DIAG_PUSH_NEEDS_COMMENT;
> -      DIAG_IGNORE_NEEDS_COMMENT (4.8, "-Wmaybe-uninitialized");
> +      DIAG_IGNORE_NEEDS_COMMENT_GCC (4.8, "-Wmaybe-uninitialized");
>        if (sign < 0)
>  	w = -w;
>        DIAG_POP_NEEDS_COMMENT;
> diff --git a/sysdeps/ieee754/soft-fp/s_ddivl.c b/sysdeps/ieee754/soft-fp/s_ddivl.c
> index 1ce63063d6..c7cf4b83ad 100644
> --- a/sysdeps/ieee754/soft-fp/s_ddivl.c
> +++ b/sysdeps/ieee754/soft-fp/s_ddivl.c
> @@ -37,7 +37,7 @@
>     versions of GCC, it may be where R is defined using a macro or it
>     may be where the macro is defined.  This happens only with -O1.  */
>  DIAG_PUSH_NEEDS_COMMENT;
> -DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
> +DIAG_IGNORE_NEEDS_COMMENT_GCC (8, "-Wmaybe-uninitialized");
>  #include <soft-fp.h>
>  #include <double.h>
>  #include <quad.h>
> diff --git a/sysdeps/ieee754/soft-fp/s_dfmal.c b/sysdeps/ieee754/soft-fp/s_dfmal.c
> index c129929142..3c3a6ecf68 100644
> --- a/sysdeps/ieee754/soft-fp/s_dfmal.c
> +++ b/sysdeps/ieee754/soft-fp/s_dfmal.c
> @@ -37,7 +37,7 @@
>     it may be where R is defined using a macro or it may be where the
>     macro is defined.  */
>  DIAG_PUSH_NEEDS_COMMENT;
> -DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wmaybe-uninitialized");
> +DIAG_IGNORE_NEEDS_COMMENT_GCC (4.9, "-Wmaybe-uninitialized");
>  
>  #include <soft-fp.h>
>  #include <double.h>
> diff --git a/sysdeps/ieee754/soft-fp/s_dsqrtl.c b/sysdeps/ieee754/soft-fp/s_dsqrtl.c
> index f1c38947c9..70bd291cc6 100644
> --- a/sysdeps/ieee754/soft-fp/s_dsqrtl.c
> +++ b/sysdeps/ieee754/soft-fp/s_dsqrtl.c
> @@ -35,7 +35,7 @@
>     does not see that they are set in all cases where they are used,
>     resulting in warnings that they may be used uninitialized.  */
>  DIAG_PUSH_NEEDS_COMMENT;
> -DIAG_IGNORE_NEEDS_COMMENT (7, "-Wmaybe-uninitialized");
> +DIAG_IGNORE_NEEDS_COMMENT_GCC (7, "-Wmaybe-uninitialized");
>  #include <soft-fp.h>
>  #include <double.h>
>  #include <quad.h>
> diff --git a/sysdeps/ieee754/soft-fp/s_fdiv.c b/sysdeps/ieee754/soft-fp/s_fdiv.c
> index 071721a3d9..8d874f1119 100644
> --- a/sysdeps/ieee754/soft-fp/s_fdiv.c
> +++ b/sysdeps/ieee754/soft-fp/s_fdiv.c
> @@ -34,7 +34,7 @@
>     versions of GCC, it may be where R is defined using a macro or it
>     may be where the macro is defined.  This happens only with -O1.  */
>  DIAG_PUSH_NEEDS_COMMENT;
> -DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
> +DIAG_IGNORE_NEEDS_COMMENT_GCC (8, "-Wmaybe-uninitialized");
>  #include <soft-fp.h>
>  #include <single.h>
>  #include <double.h>
> diff --git a/sysdeps/ieee754/soft-fp/s_fdivl.c b/sysdeps/ieee754/soft-fp/s_fdivl.c
> index 27a4c3e8bb..af1d23ce49 100644
> --- a/sysdeps/ieee754/soft-fp/s_fdivl.c
> +++ b/sysdeps/ieee754/soft-fp/s_fdivl.c
> @@ -32,8 +32,7 @@
>     uninitialized.  The location of the warning differs in different
>     versions of GCC, it may be where R is defined using a macro or it
>     may be where the macro is defined.  This happens only with -O1.  */
> -DIAG_PUSH_NEEDS_COMMENT;
> -DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
> +DIAG_IGNORE_NEEDS_COMMENT_GCC (8, "-Wmaybe-uninitialized");
>  #include <soft-fp.h>
>  #include <single.h>
>  #include <quad.h>
> diff --git a/sysdeps/ieee754/soft-fp/s_ffma.c b/sysdeps/ieee754/soft-fp/s_ffma.c
> index c60757e9af..6f358560fc 100644
> --- a/sysdeps/ieee754/soft-fp/s_ffma.c
> +++ b/sysdeps/ieee754/soft-fp/s_ffma.c
> @@ -35,7 +35,7 @@
>     it may be where R is defined using a macro or it may be where the
>     macro is defined.  */
>  DIAG_PUSH_NEEDS_COMMENT;
> -DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wmaybe-uninitialized");
> +DIAG_IGNORE_NEEDS_COMMENT_GCC (4.9, "-Wmaybe-uninitialized");
>  
>  #include <soft-fp.h>
>  #include <single.h>
> diff --git a/sysdeps/ieee754/soft-fp/s_ffmal.c b/sysdeps/ieee754/soft-fp/s_ffmal.c
> index dabf34055c..70cdca7da7 100644
> --- a/sysdeps/ieee754/soft-fp/s_ffmal.c
> +++ b/sysdeps/ieee754/soft-fp/s_ffmal.c
> @@ -33,7 +33,7 @@
>     it may be where R is defined using a macro or it may be where the
>     macro is defined.  */
>  DIAG_PUSH_NEEDS_COMMENT;
> -DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wmaybe-uninitialized");
> +DIAG_IGNORE_NEEDS_COMMENT_GCC (4.9, "-Wmaybe-uninitialized");
>  
>  #include <soft-fp.h>
>  #include <single.h>
> diff --git a/sysdeps/ieee754/soft-fp/s_fma.c b/sysdeps/ieee754/soft-fp/s_fma.c
> index 211198c319..e0a16f5200 100644
> --- a/sysdeps/ieee754/soft-fp/s_fma.c
> +++ b/sysdeps/ieee754/soft-fp/s_fma.c
> @@ -42,7 +42,7 @@
>     it may be where R is defined using a macro or it may be where the
>     macro is defined.  */
>  DIAG_PUSH_NEEDS_COMMENT;
> -DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wmaybe-uninitialized");
> +DIAG_IGNORE_NEEDS_COMMENT_GCC (4.9, "-Wmaybe-uninitialized");
>  
>  #include "soft-fp.h"
>  #include "double.h"
> diff --git a/sysdeps/ieee754/soft-fp/s_fmaf.c b/sysdeps/ieee754/soft-fp/s_fmaf.c
> index e635bd2c39..2509db1e46 100644
> --- a/sysdeps/ieee754/soft-fp/s_fmaf.c
> +++ b/sysdeps/ieee754/soft-fp/s_fmaf.c
> @@ -37,7 +37,7 @@
>     it may be where R is defined using a macro or it may be where the
>     macro is defined.  */
>  DIAG_PUSH_NEEDS_COMMENT;
> -DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wmaybe-uninitialized");
> +DIAG_IGNORE_NEEDS_COMMENT_GCC (4.9, "-Wmaybe-uninitialized");
>  
>  #include "soft-fp.h"
>  #include "single.h"
> diff --git a/sysdeps/ieee754/soft-fp/s_fmal.c b/sysdeps/ieee754/soft-fp/s_fmal.c
> index 19d36c8517..f044d0e240 100644
> --- a/sysdeps/ieee754/soft-fp/s_fmal.c
> +++ b/sysdeps/ieee754/soft-fp/s_fmal.c
> @@ -40,7 +40,7 @@
>     it may be where R is defined using a macro or it may be where the
>     macro is defined.  */
>  DIAG_PUSH_NEEDS_COMMENT;
> -DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wmaybe-uninitialized");
> +DIAG_IGNORE_NEEDS_COMMENT_GCC (4.9, "-Wmaybe-uninitialized");
>  
>  #include "soft-fp.h"
>  #include "quad.h"
> diff --git a/sysdeps/ieee754/soft-fp/s_fsqrt.c b/sysdeps/ieee754/soft-fp/s_fsqrt.c
> index 93109c5532..5c6d898114 100644
> --- a/sysdeps/ieee754/soft-fp/s_fsqrt.c
> +++ b/sysdeps/ieee754/soft-fp/s_fsqrt.c
> @@ -33,7 +33,7 @@
>     versions of GCC, it may be where R is defined using a macro or it
>     may be where the macro is defined.  This happens only with -O1.  */
>  DIAG_PUSH_NEEDS_COMMENT;
> -DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
> +DIAG_IGNORE_NEEDS_COMMENT_GCC (8, "-Wmaybe-uninitialized");
>  #include <soft-fp.h>
>  #include <single.h>
>  #include <double.h>
> diff --git a/sysdeps/unix/sysv/linux/convert_scm_timestamps.c b/sysdeps/unix/sysv/linux/convert_scm_timestamps.c
> index c87febc57c..a9a4f747bc 100644
> --- a/sysdeps/unix/sysv/linux/convert_scm_timestamps.c
> +++ b/sysdeps/unix/sysv/linux/convert_scm_timestamps.c
> @@ -51,7 +51,7 @@ __convert_scm_timestamps (struct msghdr *msg, socklen_t msgsize)
>       (done by either COMPAT_SO_TIMESTAMP_OLD or COMPAT_SO_TIMESTAMPNS_OLD)
>       which will fallthrough to 'common' label.  */
>    DIAG_PUSH_NEEDS_COMMENT;
> -  DIAG_IGNORE_NEEDS_COMMENT (6, "-Wmaybe-uninitialized");
> +  DIAG_IGNORE_NEEDS_COMMENT_GCC (6, "-Wmaybe-uninitialized");
>    int64_t tvts[2];
>    DIAG_POP_NEEDS_COMMENT;
>    int32_t tmp[2];


More information about the Libc-alpha mailing list