[commit: ghc] master: rts: Annotate fallthroughs in AArch64 linker (aeefd7b)

git at git.haskell.org git at git.haskell.org
Sat Dec 15 00:49:50 UTC 2018


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/aeefd7b36b2cab640352f6c8bd16c62d38782edf/ghc

>---------------------------------------------------------------

commit aeefd7b36b2cab640352f6c8bd16c62d38782edf
Author: Ben Gamari <ben at smart-cactus.org>
Date:   Fri Dec 14 09:55:15 2018 -0500

    rts: Annotate fallthroughs in AArch64 linker


>---------------------------------------------------------------

aeefd7b36b2cab640352f6c8bd16c62d38782edf
 rts/linker/elf_reloc_aarch64.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/rts/linker/elf_reloc_aarch64.c b/rts/linker/elf_reloc_aarch64.c
index c50ef04..bb15576 100644
--- a/rts/linker/elf_reloc_aarch64.c
+++ b/rts/linker/elf_reloc_aarch64.c
@@ -125,18 +125,23 @@ encodeAddendAarch64(Section * section, Elf_Rel * rel, int64_t addend) {
             // 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
             // ...   imm12     ] [     Rn     ] [    Rd      ]
 
-            /* fall through */
+            FALLTHROUGH;
         }
         case COMPAT_R_AARCH64_LDST8_ABS_LO12_NC:
             if(exp_shift == -1) exp_shift = 0;
+            FALLTHROUGH;
         case COMPAT_R_AARCH64_LDST16_ABS_LO12_NC:
             if(exp_shift == -1) exp_shift = 1;
+            FALLTHROUGH;
         case COMPAT_R_AARCH64_LDST32_ABS_LO12_NC:
             if(exp_shift == -1) exp_shift = 2;
+            FALLTHROUGH;
         case COMPAT_R_AARCH64_LDST64_ABS_LO12_NC:
             if(exp_shift == -1) exp_shift = 3;
+            FALLTHROUGH;
         case COMPAT_R_AARCH64_LDST128_ABS_LO12_NC:
             if(exp_shift == -1) exp_shift = 4;
+            FALLTHROUGH;
         case COMPAT_R_AARCH64_LD64_GOT_LO12_NC: {
             if(exp_shift == -1) {
                 assert( (addend & 7) == 0 );



More information about the ghc-commits mailing list