compiler: Provide LIBPLDM_CC_ALWAYS_INLINE
Using it through the code-base reduces some of the source noise, and
gives us a way to control the definition going forward.
Change-Id: I27e76cbae5c45f0efd64b01fb9a8b243a6c8e65d
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
diff --git a/src/compiler.h b/src/compiler.h
index e704518..3657471 100644
--- a/src/compiler.h
+++ b/src/compiler.h
@@ -9,12 +9,15 @@
#include <assert.h>
static struct {
+ static_assert(__has_attribute(always_inline),
+ "`always_inline` attribute is required");
static_assert(__has_attribute(unused),
"`unused` attribute is required");
int compliance;
} pldm_required_attributes __attribute__((unused));
-#define LIBPLDM_CC_UNUSED __attribute__((unused))
+#define LIBPLDM_CC_ALWAYS_INLINE __attribute__((always_inline)) static inline
+#define LIBPLDM_CC_UNUSED __attribute__((unused))
// NOLINTBEGIN(bugprone-macro-parentheses)
/**