[scudo] Check if we use __clang_major__ >= 12
This makes sure we have support for MTE instructions.
Later the check can be extended to support MTE on other compilers.
Reviewed By: pcc
Differential Revision: https://reviews.llvm.org/D105722
GitOrigin-RevId: db4c25822a1d9458f961eeb6cecf8a7bbce05b13
diff --git a/memtag.h b/memtag.h
index 0c47f67..cd8d95a 100644
--- a/memtag.h
+++ b/memtag.h
@@ -18,7 +18,7 @@
namespace scudo {
-#if defined(__aarch64__) || defined(SCUDO_FUZZ)
+#if (__clang_major__ >= 12 && defined(__aarch64__)) || defined(SCUDO_FUZZ)
// We assume that Top-Byte Ignore is enabled if the architecture supports memory
// tagging. Not all operating systems enable TBI, so we only claim architectural
@@ -55,7 +55,7 @@
#endif
-#if defined(__aarch64__)
+#if __clang_major__ >= 12 && defined(__aarch64__)
#if SCUDO_LINUX