From fe187de9bd1aa479ab6cd198522bfd118d0d50ec Mon Sep 17 00:00:00 2001 From: Chun-Chen Hsu Date: Tue, 13 Mar 2018 17:44:52 +0800 Subject: arch, arm: Fix implicit-fallthrough GCC warnings GCC 7 generates spurious fallthrough warnings in nested switch blocks where the inner switch block return. There is already a GCC fix [1] submitted for review but, until it is merged into GCC trunk, GEM5 will not build with GCC 7 due to these fallthrough warnings. This patch silences the spurious fallthrough warnings by appending a M5_UNREACHABLE statement in the outer switch cases. Note there is another GEM5 patch [2] to fix other fallthrough warnings. [1] https://gcc.gnu.org/ml/gcc-patches/2018-02/msg01105.html [2] https://gem5-review.googlesource.com/c/public/gem5/+/8541 Change-Id: I97cd8bfa90a88e93cee60cf27a8c93611d11a242 Signed-off-by: Chun-Chen Hsu Reviewed-on: https://gem5-review.googlesource.com/9101 Reviewed-by: Giacomo Travaglini Maintainer: Giacomo Travaglini --- src/arch/arm/isa/formats/aarch64.isa | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/arch/arm') diff --git a/src/arch/arm/isa/formats/aarch64.isa b/src/arch/arm/isa/formats/aarch64.isa index 1b9a86cad..7752ba08f 100644 --- a/src/arch/arm/isa/formats/aarch64.isa +++ b/src/arch/arm/isa/formats/aarch64.isa @@ -1897,6 +1897,7 @@ namespace Aarch64 return new Unknown64(machInst); } } + M5_UNREACHABLE; case 0x1: { if (bits(machInst, 31) || @@ -2005,7 +2006,7 @@ namespace Aarch64 M5_UNREACHABLE; } } - return new FailUnimplemented("Unhandled Case4", machInst); + M5_UNREACHABLE; } } }}; -- cgit v1.2.3