[Mesa-dev] [PATCH] util: move ALWAYS_INLINE macro to util/macro.h
Timothy Arceri
tarceri at itsqueeze.com
Sun May 7 22:01:05 UTC 2017
Also added clang check.
macro.h is include by p_compiler.h so no other change is needed.
---
src/gallium/include/pipe/p_compiler.h | 11 -----------
src/util/macros.h | 11 +++++++++++
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/src/gallium/include/pipe/p_compiler.h b/src/gallium/include/pipe/p_compiler.h
index 0d7b014..2869517 100644
--- a/src/gallium/include/pipe/p_compiler.h
+++ b/src/gallium/include/pipe/p_compiler.h
@@ -86,31 +86,20 @@ typedef unsigned char boolean;
#endif
#ifndef va_copy
#ifdef __va_copy
#define va_copy(dest, src) __va_copy((dest), (src))
#else
#define va_copy(dest, src) (dest) = (src)
#endif
#endif
-/* Forced function inlining */
-#ifndef ALWAYS_INLINE
-# ifdef __GNUC__
-# define ALWAYS_INLINE inline __attribute__((always_inline))
-# elif defined(_MSC_VER)
-# define ALWAYS_INLINE __forceinline
-# else
-# define ALWAYS_INLINE inline
-# endif
-#endif
-
/* XXX: Use standard `__func__` instead */
#ifndef __FUNCTION__
# define __FUNCTION__ __func__
#endif
/* This should match linux gcc cdecl semantics everywhere, so that we
* just codegen one calling convention on all platforms.
*/
diff --git a/src/util/macros.h b/src/util/macros.h
index 6f55ac6..a10f1de 100644
--- a/src/util/macros.h
+++ b/src/util/macros.h
@@ -129,20 +129,31 @@ do { \
#else
#define PRINTFLIKE(f, a)
#endif
#ifdef HAVE_FUNC_ATTRIBUTE_MALLOC
#define MALLOCLIKE __attribute__((__malloc__))
#else
#define MALLOCLIKE
#endif
+/* Forced function inlining */
+#ifndef ALWAYS_INLINE
+# if defined(__GNUC__) || defined(__clang__)
+# define ALWAYS_INLINE inline __attribute__((always_inline))
+# elif defined(_MSC_VER)
+# define ALWAYS_INLINE __forceinline
+# else
+# define ALWAYS_INLINE inline
+# endif
+#endif
+
/* Used to optionally mark structures with misaligned elements or size as
* packed, to trade off performance for space.
*/
#ifdef HAVE_FUNC_ATTRIBUTE_PACKED
#define PACKED __attribute__((__packed__))
#else
#define PACKED
#endif
/* Attribute pure is used for functions that have no effects other than their
--
2.9.3
More information about the mesa-dev
mailing list