The warning is not supported by clang.
Reviewed-by: Sam James <sam@gentoo.org>
‘(((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. */
/* 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;
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
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; \
#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
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;
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;
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;
}
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);
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;
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;
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;
#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,
/* 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;
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, \
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
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;
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;
/* 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)
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];
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);
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];
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. */
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;
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;
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:
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:
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. */
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;
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;
}
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;
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;
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;
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;
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>
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>
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>
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>
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>
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>
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>
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"
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"
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"
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>
(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];