base: Add some error handling to compiler.hh.
authorGabe Black <gabeblack@google.com>
Tue, 29 Sep 2020 01:48:01 +0000 (18:48 -0700)
committerGabe Black <gabeblack@google.com>
Thu, 1 Oct 2020 17:03:49 +0000 (17:03 +0000)
Rather than just leaving some macros undefined if none of the scenarios
we checked for match, we should report an error so it's clear what
happened. Otherwise the places the macros are used will just not compile
properly, or worse will silently not work correctly.

Change-Id: Ie010d6b6d1b6a1496a45d9ebc0d75d1c804df12f
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/35275
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/base/compiler.hh

index ee9a224b17051a8b4d4829cf6bc291d7c16a44c7..ead1507fd40e687a997584e5a2790f4510fec1c2 100644 (file)
@@ -76,6 +76,8 @@
 // gcc and clang support a custom attribute which is essentially the same
 // thing.
 #  define M5_VAR_USED [[gnu::unused]]
+#else
+#  error "Don't know what to do for your compiler."
 #endif
 
 
 // we can't do that with direct substitution.
 #  define M5_LIKELY(cond) __builtin_expect(!!(cond), 1)
 #  define M5_UNLIKELY(cond) __builtin_expect(!!(cond), 0)
+#else
+#  error "Don't know what to do for your compiler."
 #endif
 
 // When a member variable may be unused, mark it with M5_CLASS_VAR_USED. This