Add and move fall-through comments in system-specific code.
authorJoseph Myers <joseph@codesourcery.com>
Tue, 26 Feb 2019 02:09:18 +0000 (02:09 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Tue, 26 Feb 2019 02:09:18 +0000 (02:09 +0000)
This patch fixes -Wimplicit-fallthrough warnings in system-specific
code that show up building glibc with -Wextra, by adding fall-through
comments, or moving existing such comments to the place required for
them to work (immediately before the case label being fallen through).

Tested with build-many-glibcs.py.

* sysdeps/i386/dl-machine.h (elf_machine_rela): Add fall-through
comments.
* sysdeps/m68k/m680x0/fpu/s_cexp_template.c (s(__cexp)): Likewise.
* sysdeps/m68k/memcopy.h (WORD_COPY_FWD): Likewise.
(WORD_COPY_BWD): Likewise.
* sysdeps/mach/hurd/ioctl.c (__ioctl): Likewise.
* sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela):
Likewise.
* sysdeps/s390/iso-8859-1_cp037_z900.c (TR_LOOP): Likewise.
* sysdeps/mips/dl-machine.h (elf_machine_reloc): Move fall-through
comment.
* sysdeps/mips/dl-trampoline.c (__dl_runtime_resolve): Likewise.

ChangeLog
sysdeps/i386/dl-machine.h
sysdeps/m68k/m680x0/fpu/s_cexp_template.c
sysdeps/m68k/memcopy.h
sysdeps/mach/hurd/ioctl.c
sysdeps/mips/dl-machine.h
sysdeps/mips/dl-trampoline.c
sysdeps/powerpc/powerpc64/dl-machine.h
sysdeps/s390/iso-8859-1_cp037_z900.c

index 08c2dc6..2f1cfdf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2019-02-26  Joseph Myers  <joseph@codesourcery.com>
+
+       * sysdeps/i386/dl-machine.h (elf_machine_rela): Add fall-through
+       comments.
+       * sysdeps/m68k/m680x0/fpu/s_cexp_template.c (s(__cexp)): Likewise.
+       * sysdeps/m68k/memcopy.h (WORD_COPY_FWD): Likewise.
+       (WORD_COPY_BWD): Likewise.
+       * sysdeps/mach/hurd/ioctl.c (__ioctl): Likewise.
+       * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela):
+       Likewise.
+       * sysdeps/s390/iso-8859-1_cp037_z900.c (TR_LOOP): Likewise.
+       * sysdeps/mips/dl-machine.h (elf_machine_reloc): Move fall-through
+       comment.
+       * sysdeps/mips/dl-trampoline.c (__dl_runtime_resolve): Likewise.
+
 2019-02-25  Joseph Myers  <joseph@codesourcery.com>
 
        * dirent/dirent.h [!_DIRENT_HAVE_D_NAMLEN
index 13cb03a..1566d12 100644 (file)
@@ -522,6 +522,7 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
        case R_386_SIZE32:
          /* Set to symbol size plus addend.  */
          value = sym->st_size;
+         /* Fall through.  */
        case R_386_GLOB_DAT:
        case R_386_JMP_SLOT:
        case R_386_32:
index d214f59..13befb2 100644 (file)
@@ -93,6 +93,7 @@ s(__cexp) (CFLOAT x)
              break;
            case 2:
              __real__ retval = -__real__ retval;
+             /* Fall through.  */
            case 3:
              __imag__ retval = -__imag__ retval;
              break;
index 66c3964..aa4a1ab 100644 (file)
        do                                                                    \
          {                                                                   \
            ((op_t *) dst_bp)[0] = ((op_t *) src_bp)[0];                      \
+           /* Fall through.  */                                              \
          case 7:                                                             \
            ((op_t *) dst_bp)[1] = ((op_t *) src_bp)[1];                      \
+           /* Fall through.  */                                              \
          case 6:                                                             \
            ((op_t *) dst_bp)[2] = ((op_t *) src_bp)[2];                      \
+           /* Fall through.  */                                              \
          case 5:                                                             \
            ((op_t *) dst_bp)[3] = ((op_t *) src_bp)[3];                      \
+           /* Fall through.  */                                              \
          case 4:                                                             \
            ((op_t *) dst_bp)[4] = ((op_t *) src_bp)[4];                      \
+           /* Fall through.  */                                              \
          case 3:                                                             \
            ((op_t *) dst_bp)[5] = ((op_t *) src_bp)[5];                      \
+           /* Fall through.  */                                              \
          case 2:                                                             \
            ((op_t *) dst_bp)[6] = ((op_t *) src_bp)[6];                      \
+           /* Fall through.  */                                              \
          case 1:                                                             \
            ((op_t *) dst_bp)[7] = ((op_t *) src_bp)[7];                      \
+           /* Fall through.  */                                              \
          case 0:                                                             \
            src_bp += 32;                                                     \
            dst_bp += 32;                                                     \
        do                                                                    \
          {                                                                   \
            *--__dst_ep = *--__src_ep;                                        \
+           /* Fall through.  */                                              \
          case 7:                                                             \
            *--__dst_ep = *--__src_ep;                                        \
+           /* Fall through.  */                                              \
          case 6:                                                             \
            *--__dst_ep = *--__src_ep;                                        \
+           /* Fall through.  */                                              \
          case 5:                                                             \
            *--__dst_ep = *--__src_ep;                                        \
+           /* Fall through.  */                                              \
          case 4:                                                             \
            *--__dst_ep = *--__src_ep;                                        \
+           /* Fall through.  */                                              \
          case 3:                                                             \
            *--__dst_ep = *--__src_ep;                                        \
+           /* Fall through.  */                                              \
          case 2:                                                             \
            *--__dst_ep = *--__src_ep;                                        \
+           /* Fall through.  */                                              \
          case 1:                                                             \
            *--__dst_ep = *--__src_ep;                                        \
+           /* Fall through.  */                                              \
          case 0:                                                             \
            __nblocks--;                                                      \
          }                                                                   \
index cd630e1..abd13f6 100644 (file)
@@ -177,6 +177,7 @@ __ioctl (int fd, unsigned long int request, ...)
        case MACH_SEND_INVALID_REPLY:
        case MACH_RCV_INVALID_NAME:
          __mig_dealloc_reply_port (m->msgh_local_port);
+         /* Fall through.  */
        default:
          return err;
        }
@@ -318,6 +319,7 @@ __ioctl (int fd, unsigned long int request, ...)
     case EOPNOTSUPP:
       /* The server didn't understand the RPC.  */
       err = ENOTTY;
+      /* Fall through.  */
     default:
       return __hurd_fail (err);
     }
index e82891f..f9e7e90 100644 (file)
@@ -712,8 +712,8 @@ elf_machine_reloc (struct link_map *map, ElfW(Addr) r_info,
         it's totally unnecessary.  */
       if (ELFW(R_SYM) (r_info) == 0)
        break;
-      /* Fall through.  */
 #endif
+      /* Fall through.  */
     default:
       _dl_reloc_bad_type (map, r_type, 0);
       break;
index 568c8a1..5a8cc7d 100644 (file)
@@ -166,8 +166,8 @@ __dl_runtime_resolve (ElfW(Word) sym_index,
 
                break;
              }
-           /* Fall through.  */
          }
+         /* Fall through.  */
        case 0:
          {
           /* We need to keep the scope around so do some locking.  This is
index bc8bd02..1d926e3 100644 (file)
@@ -902,6 +902,7 @@ elf_machine_rela (struct link_map *map,
     case R_PPC64_ADDR16_HI:
       if (dont_expect (value + 0x80000000 >= 0x100000000LL))
        _dl_reloc_overflow (map, "R_PPC64_ADDR16_HI", reloc_addr, refsym);
+      /* Fall through.  */
     case R_PPC64_ADDR16_HIGH:
       *(Elf64_Half *) reloc_addr = PPC_HI (value);
       break;
@@ -909,6 +910,7 @@ elf_machine_rela (struct link_map *map,
     case R_PPC64_ADDR16_HA:
       if (dont_expect (value + 0x80008000 >= 0x100000000LL))
        _dl_reloc_overflow (map, "R_PPC64_ADDR16_HA", reloc_addr, refsym);
+      /* Fall through.  */
     case R_PPC64_ADDR16_HIGHA:
       *(Elf64_Half *) reloc_addr = PPC_HA (value);
       break;
index b2d8f62..2a373fe 100644 (file)
@@ -227,12 +227,19 @@ __attribute__ ((aligned (8))) =
     switch (length)                                                    \
       {                                                                        \
       case 7: outptr[6] = TABLE[inptr[6]];                             \
+       /* Fall through.  */                                            \
       case 6: outptr[5] = TABLE[inptr[5]];                             \
+       /* Fall through.  */                                            \
       case 5: outptr[4] = TABLE[inptr[4]];                             \
+       /* Fall through.  */                                            \
       case 4: outptr[3] = TABLE[inptr[3]];                             \
+       /* Fall through.  */                                            \
       case 3: outptr[2] = TABLE[inptr[2]];                             \
+       /* Fall through.  */                                            \
       case 2: outptr[1] = TABLE[inptr[1]];                             \
+       /* Fall through.  */                                            \
       case 1: outptr[0] = TABLE[inptr[0]];                             \
+       /* Fall through.  */                                            \
       case 0: break;                                                   \
       }                                                                        \
     inptr += length;                                                   \