Add fall-through comments.
This patch adds fall-through comments in some cases where -Wextra produces implicit-fallthrough warnings. The patch is non-exhaustive. Apart from architecture-specific code for non-x86_64 architectures, it does not change sunrpc/xdr.c (legacy code, probably should have such changes, but left to be dealt with separately), or places that already had comments about the fall-through but not matching the form expected by -Wimplicit-fallthrough=3 (the default level with -Wextra; my inclination is to adjust those comments to match rather than downgrading to -Wimplicit-fallthrough=1 to allow any comment), or one place where I thought the implicit fallthrough was not correct and so should be handled separately as a bug fix. I think the key thing to consider in review of this patch is whether the fall-through is indeed intended and correct in each place where such a comment is added. Tested for x86_64. * elf/dl-exception.c (_dl_exception_create_format): Add fall-through comments. * elf/ldconfig.c (parse_conf_include): Likewise. * elf/rtld.c (print_statistics): Likewise. * locale/programs/charmap.c (parse_charmap): Likewise. * misc/mntent_r.c (__getmntent_r): Likewise. * posix/wordexp.c (parse_arith): Likewise. (parse_backtick): Likewise. * resolv/ns_ttl.c (ns_parse_ttl): Likewise. * sysdeps/x86/cpu-features.c (init_cpu_features): Likewise. * sysdeps/x86_64/dl-machine.h (elf_machine_rela): Likewise.
This commit is contained in:
parent
a51bc4fe9d
commit
32db86d558
14
ChangeLog
14
ChangeLog
@ -1,3 +1,17 @@
|
|||||||
|
2019-02-12 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
* elf/dl-exception.c (_dl_exception_create_format): Add
|
||||||
|
fall-through comments.
|
||||||
|
* elf/ldconfig.c (parse_conf_include): Likewise.
|
||||||
|
* elf/rtld.c (print_statistics): Likewise.
|
||||||
|
* locale/programs/charmap.c (parse_charmap): Likewise.
|
||||||
|
* misc/mntent_r.c (__getmntent_r): Likewise.
|
||||||
|
* posix/wordexp.c (parse_arith): Likewise.
|
||||||
|
(parse_backtick): Likewise.
|
||||||
|
* resolv/ns_ttl.c (ns_parse_ttl): Likewise.
|
||||||
|
* sysdeps/x86/cpu-features.c (init_cpu_features): Likewise.
|
||||||
|
* sysdeps/x86_64/dl-machine.h (elf_machine_rela): Likewise.
|
||||||
|
|
||||||
2019-02-11 Paul A. Clarke <pc@us.ibm.com>
|
2019-02-11 Paul A. Clarke <pc@us.ibm.com>
|
||||||
|
|
||||||
* sysdeps/powerpc/fpu/e_sqrt.c (__slow_ieee754_sqrtf):
|
* sysdeps/powerpc/fpu/e_sqrt.c (__slow_ieee754_sqrtf):
|
||||||
|
@ -123,6 +123,7 @@ _dl_exception_create_format (struct dl_exception *exception, const char *objname
|
|||||||
++p;
|
++p;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
/* Fall through. */
|
||||||
case 'x':
|
case 'x':
|
||||||
length += INT_WIDTH / 4;
|
length += INT_WIDTH / 4;
|
||||||
break;
|
break;
|
||||||
|
@ -1228,6 +1228,7 @@ parse_conf_include (const char *config_file, unsigned int lineno,
|
|||||||
|
|
||||||
case GLOB_NOSPACE:
|
case GLOB_NOSPACE:
|
||||||
errno = ENOMEM;
|
errno = ENOMEM;
|
||||||
|
/* Fall through. */
|
||||||
case GLOB_ABORTED:
|
case GLOB_ABORTED:
|
||||||
if (opt_verbose)
|
if (opt_verbose)
|
||||||
error (0, errno, _("%s:%u: cannot read directory %s"),
|
error (0, errno, _("%s:%u: cannot read directory %s"),
|
||||||
|
@ -2738,8 +2738,10 @@ print_statistics (hp_timing_t *rtld_total_timep)
|
|||||||
{
|
{
|
||||||
case 3:
|
case 3:
|
||||||
*wp++ = *cp++;
|
*wp++ = *cp++;
|
||||||
|
/* Fall through. */
|
||||||
case 2:
|
case 2:
|
||||||
*wp++ = *cp++;
|
*wp++ = *cp++;
|
||||||
|
/* Fall through. */
|
||||||
case 1:
|
case 1:
|
||||||
*wp++ = '.';
|
*wp++ = '.';
|
||||||
*wp++ = *cp++;
|
*wp++ = *cp++;
|
||||||
@ -2801,8 +2803,10 @@ print_statistics (hp_timing_t *rtld_total_timep)
|
|||||||
{
|
{
|
||||||
case 3:
|
case 3:
|
||||||
*wp++ = *cp++;
|
*wp++ = *cp++;
|
||||||
|
/* Fall through. */
|
||||||
case 2:
|
case 2:
|
||||||
*wp++ = *cp++;
|
*wp++ = *cp++;
|
||||||
|
/* Fall through. */
|
||||||
case 1:
|
case 1:
|
||||||
*wp++ = '.';
|
*wp++ = '.';
|
||||||
*wp++ = *cp++;
|
*wp++ = *cp++;
|
||||||
|
@ -713,6 +713,7 @@ only WIDTH definitions are allowed to follow the CHARMAP definition"));
|
|||||||
state = 95;
|
state = 95;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
/* Fall through. */
|
||||||
|
|
||||||
case 96:
|
case 96:
|
||||||
if (nowtok != tok_number)
|
if (nowtok != tok_number)
|
||||||
|
@ -174,8 +174,10 @@ __getmntent_r (FILE *stream, struct mntent *mp, char *buffer, int bufsiz)
|
|||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
mp->mnt_freq = 0;
|
mp->mnt_freq = 0;
|
||||||
|
/* Fall through. */
|
||||||
case 1:
|
case 1:
|
||||||
mp->mnt_passno = 0;
|
mp->mnt_passno = 0;
|
||||||
|
/* Fall through. */
|
||||||
case 2:
|
case 2:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -799,6 +799,7 @@ parse_arith (char **word, size_t *word_length, size_t *max_length,
|
|||||||
|
|
||||||
case '(':
|
case '(':
|
||||||
++paren_depth;
|
++paren_depth;
|
||||||
|
/* Fall through. */
|
||||||
default:
|
default:
|
||||||
expr = w_addchar (expr, &expr_length, &expr_maxlen, words[*offset]);
|
expr = w_addchar (expr, &expr_length, &expr_maxlen, words[*offset]);
|
||||||
if (expr == NULL)
|
if (expr == NULL)
|
||||||
@ -2127,6 +2128,7 @@ parse_backtick (char **word, size_t *word_length, size_t *max_length,
|
|||||||
|
|
||||||
case '\'':
|
case '\'':
|
||||||
squoting = 1 - squoting;
|
squoting = 1 - squoting;
|
||||||
|
/* Fall through. */
|
||||||
default:
|
default:
|
||||||
comm = w_addchar (comm, &comm_length, &comm_maxlen, words[*offset]);
|
comm = w_addchar (comm, &comm_length, &comm_maxlen, words[*offset]);
|
||||||
if (comm == NULL)
|
if (comm == NULL)
|
||||||
|
@ -113,9 +113,13 @@ ns_parse_ttl(const char *src, u_long *dst) {
|
|||||||
ch = toupper(ch);
|
ch = toupper(ch);
|
||||||
switch (ch) {
|
switch (ch) {
|
||||||
case 'W': tmp *= 7;
|
case 'W': tmp *= 7;
|
||||||
|
/* Fall through. */
|
||||||
case 'D': tmp *= 24;
|
case 'D': tmp *= 24;
|
||||||
|
/* Fall through. */
|
||||||
case 'H': tmp *= 60;
|
case 'H': tmp *= 60;
|
||||||
|
/* Fall through. */
|
||||||
case 'M': tmp *= 60;
|
case 'M': tmp *= 60;
|
||||||
|
/* Fall through. */
|
||||||
case 'S': break;
|
case 'S': break;
|
||||||
default: goto einval;
|
default: goto einval;
|
||||||
}
|
}
|
||||||
|
@ -375,6 +375,7 @@ init_cpu_features (struct cpu_features *cpu_features)
|
|||||||
of Core i3/i5/i7 processors if AVX is available. */
|
of Core i3/i5/i7 processors if AVX is available. */
|
||||||
if (!CPU_FEATURES_CPU_P (cpu_features, AVX))
|
if (!CPU_FEATURES_CPU_P (cpu_features, AVX))
|
||||||
break;
|
break;
|
||||||
|
/* Fall through. */
|
||||||
|
|
||||||
case 0x1a:
|
case 0x1a:
|
||||||
case 0x1e:
|
case 0x1e:
|
||||||
@ -402,6 +403,7 @@ init_cpu_features (struct cpu_features *cpu_features)
|
|||||||
/* Xeon E7 v3 with stepping >= 4 has working TSX. */
|
/* Xeon E7 v3 with stepping >= 4 has working TSX. */
|
||||||
if (stepping >= 4)
|
if (stepping >= 4)
|
||||||
break;
|
break;
|
||||||
|
/* Fall through. */
|
||||||
case 0x3c:
|
case 0x3c:
|
||||||
case 0x45:
|
case 0x45:
|
||||||
case 0x46:
|
case 0x46:
|
||||||
|
@ -347,6 +347,7 @@ elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc,
|
|||||||
/* Set to symbol size plus addend. */
|
/* Set to symbol size plus addend. */
|
||||||
value = sym->st_size;
|
value = sym->st_size;
|
||||||
# endif
|
# endif
|
||||||
|
/* Fall through. */
|
||||||
case R_X86_64_GLOB_DAT:
|
case R_X86_64_GLOB_DAT:
|
||||||
case R_X86_64_JUMP_SLOT:
|
case R_X86_64_JUMP_SLOT:
|
||||||
*reloc_addr = value + reloc->r_addend;
|
*reloc_addr = value + reloc->r_addend;
|
||||||
@ -460,6 +461,7 @@ elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc,
|
|||||||
/* Set to symbol size plus addend. */
|
/* Set to symbol size plus addend. */
|
||||||
value = sym->st_size;
|
value = sym->st_size;
|
||||||
# endif
|
# endif
|
||||||
|
/* Fall through. */
|
||||||
case R_X86_64_32:
|
case R_X86_64_32:
|
||||||
value += reloc->r_addend;
|
value += reloc->r_addend;
|
||||||
*(unsigned int *) reloc_addr = value;
|
*(unsigned int *) reloc_addr = value;
|
||||||
|
Loading…
Reference in New Issue
Block a user