All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Huth <thuth@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>, qemu-devel@nongnu.org
Cc: "Chen Qun" <kuhn.chenqun@huawei.com>,
	"Alex Bennée" <alex.bennee@linaro.org>
Subject: [PULL 01/12] disas/libvixl: Fix fall-through annotation for GCC >= 7
Date: Wed, 16 Dec 2020 18:29:38 +0100	[thread overview]
Message-ID: <20201216172949.57380-2-thuth@redhat.com> (raw)
In-Reply-To: <20201216172949.57380-1-thuth@redhat.com>

For compiling with -Wimplicit-fallthrough we need to fix the
fallthrough annotations in the libvixl code. This is based on
the following upstream vixl commit by Martyn Capewell:

 https://git.linaro.org/arm/vixl.git/commit/?id=de326f850f736c3a337

 "GCC 7 enables switch/case fallthrough checking, but this fails in
  VIXL, because the annotation we use is Clang specific.

  Also, fix a missing annotation in the disassembler."

Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20201211152426.350966-2-thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 disas/libvixl/vixl/a64/disasm-a64.cc | 4 ++++
 disas/libvixl/vixl/globals.h         | 6 ++++--
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/disas/libvixl/vixl/a64/disasm-a64.cc b/disas/libvixl/vixl/a64/disasm-a64.cc
index 7a58a5c087..f34d1d68da 100644
--- a/disas/libvixl/vixl/a64/disasm-a64.cc
+++ b/disas/libvixl/vixl/a64/disasm-a64.cc
@@ -2985,6 +2985,10 @@ int Disassembler::SubstituteImmediateField(const Instruction* instr,
           }
           return 3;
         }
+        default: {
+          VIXL_UNIMPLEMENTED();
+          return 0;
+        }
       }
     }
     case 'C': {  // ICondB - Immediate Conditional Branch.
diff --git a/disas/libvixl/vixl/globals.h b/disas/libvixl/vixl/globals.h
index 61dc9f7f7e..7099aa599f 100644
--- a/disas/libvixl/vixl/globals.h
+++ b/disas/libvixl/vixl/globals.h
@@ -108,10 +108,12 @@ inline void USE(T1, T2, T3, T4) {}
   #define __has_warning(x)  0
 #endif
 
-// Note: This option is only available for Clang. And will only be enabled for
-// C++11(201103L).
+// Fallthrough annotation for Clang and C++11(201103L).
 #if __has_warning("-Wimplicit-fallthrough") && __cplusplus >= 201103L
   #define VIXL_FALLTHROUGH() [[clang::fallthrough]] //NOLINT
+// Fallthrough annotation for GCC >= 7.
+#elif __GNUC__ >= 7
+  #define VIXL_FALLTHROUGH() __attribute__((fallthrough))
 #else
   #define VIXL_FALLTHROUGH() do {} while (0)
 #endif
-- 
2.27.0



  reply	other threads:[~2020-12-16 17:33 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-16 17:29 [PULL 00/12] Compile QEMU with -Wimplicit-fallthrough Thomas Huth
2020-12-16 17:29 ` Thomas Huth [this message]
2020-12-16 17:29 ` [PULL 02/12] target/unicore32/translate: Add missing fallthrough annotations Thomas Huth
2020-12-16 17:29 ` [PULL 03/12] hw/rtc/twl92230: Silence warnings about missing fallthrough statements Thomas Huth
2020-12-16 17:29 ` [PULL 04/12] hw/timer/renesas_tmr: silence the compiler warnings Thomas Huth
2020-12-16 17:29 ` [PULL 05/12] target/i386: silence the compiler warnings in gen_shiftd_rm_T1 Thomas Huth
2020-12-16 17:29 ` [PULL 06/12] hw/intc/arm_gicv3_kvm: silence the compiler warnings Thomas Huth
2020-12-16 17:29 ` [PULL 07/12] accel/tcg/user-exec: " Thomas Huth
2020-12-16 17:29 ` [PULL 08/12] target/sparc/translate: " Thomas Huth
2020-12-16 17:29 ` [PULL 09/12] target/sparc/win_helper: " Thomas Huth
2020-12-16 17:29 ` [PULL 10/12] tcg/optimize: Add fallthrough annotations Thomas Huth
2020-12-16 17:29 ` [PULL 11/12] tests/fp: Do not emit implicit-fallthrough warnings in the softfloat tests Thomas Huth
2020-12-16 17:29 ` [PULL 12/12] configure: Compile with -Wimplicit-fallthrough=2 Thomas Huth
2020-12-16 23:01 ` [PULL 00/12] Compile QEMU with -Wimplicit-fallthrough no-reply
2020-12-17  6:09   ` Thomas Huth
2020-12-17 12:51 ` Peter Maydell
2020-12-17 13:03   ` Thomas Huth
2020-12-17 14:00     ` Status/future of QEMU bsd-user impl ? (Wea Re: [PULL 00/12] Compile QEMU with -Wimplicit-fallthrough) Daniel P. Berrangé
2020-12-17 16:03       ` Warner Losh
2020-12-17 16:20         ` Peter Maydell
2020-12-17 17:10           ` Warner Losh
2020-12-17 17:59             ` Warner Losh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201216172949.57380-2-thuth@redhat.com \
    --to=thuth@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=kuhn.chenqun@huawei.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.