Introduce MBEDTLS_IGNORE_UNREACHABLE_BEGIN
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com>
diff --git a/library/common.h b/library/common.h
index 3c472c6..4e1b2fa 100644
--- a/library/common.h
+++ b/library/common.h
@@ -334,4 +334,23 @@
#define MBEDTLS_OPTIMIZE_FOR_PERFORMANCE
#endif
+/* Define macros that can be used to disable warnings about unreachable code. */
+#if defined(__clang__)
+
+#define MBEDTLS_PRAGMA(x) _Pragma(#x)
+
+#define MBEDTLS_IGNORE_UNREACHABLE_BEGIN \
+ MBEDTLS_PRAGMA(clang diagnostic push) \
+ MBEDTLS_PRAGMA(clang diagnostic ignored "-Wunreachable-code")
+
+#define MBEDTLS_IGNORE_UNREACHABLE_END \
+ MBEDTLS_PRAGMA(clang diagnostic pop)
+
+#else
+
+#define MBEDTLS_IGNORE_UNREACHABLE_BEGIN
+#define MBEDTLS_IGNORE_UNREACHABLE_END
+
+#endif
+
#endif /* MBEDTLS_LIBRARY_COMMON_H */