summaryrefslogtreecommitdiff
path: root/src/gallium/include
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2013-03-12 11:17:49 +0000
committerJosé Fonseca <jfonseca@vmware.com>2013-03-12 22:06:27 +0000
commit70fe7c6d3e1c7534f6598c4616bebf672f42668b (patch)
tree4a89950745ecc8218682fde97d70dfff26f97928 /src/gallium/include
parent96b3ca89b153f358de74059151d2b0e8bd884dfa (diff)
mesa,gallium,egl,mapi: One definition of C99 inline/__func__ to rule them all.
We were in four already... NOTE: Candidate for the stable branches. Reviewed-by: Brian Paul <brianp@vmware.com>
Diffstat (limited to 'src/gallium/include')
-rw-r--r--src/gallium/include/pipe/p_compiler.h74
1 files changed, 5 insertions, 69 deletions
diff --git a/src/gallium/include/pipe/p_compiler.h b/src/gallium/include/pipe/p_compiler.h
index 595833356a8..a131969c6eb 100644
--- a/src/gallium/include/pipe/p_compiler.h
+++ b/src/gallium/include/pipe/p_compiler.h
@@ -29,6 +29,8 @@
#define P_COMPILER_H
+#include "c99_compat.h" /* inline, __func__, etc. */
+
#include "p_config.h"
#include <stdlib.h>
@@ -90,28 +92,7 @@ typedef unsigned char boolean;
#endif
#endif
-/* Function inlining */
-#ifndef inline
-# ifdef __cplusplus
- /* C++ supports inline keyword */
-# elif defined(__GNUC__)
-# define inline __inline__
-# elif defined(_MSC_VER)
-# define inline __inline
-# elif defined(__ICL)
-# define inline __inline
-# elif defined(__INTEL_COMPILER)
- /* Intel compiler supports inline keyword */
-# elif defined(__WATCOMC__) && (__WATCOMC__ >= 1100)
-# define inline __inline
-# elif defined(__SUNPRO_C) && defined(__C99FEATURES__)
- /* C99 supports inline keyword */
-# elif (__STDC_VERSION__ >= 199901L)
- /* C99 supports inline keyword */
-# else
-# define inline
-# endif
-#endif
+/* XXX: Use standard `inline` keyword instead */
#ifndef INLINE
# define INLINE inline
#endif
@@ -127,26 +108,6 @@ typedef unsigned char boolean;
# endif
#endif
-/*
- * Define the C99 restrict keyword.
- *
- * See also:
- * - http://cellperformance.beyond3d.com/articles/2006/05/demystifying-the-restrict-keyword.html
- */
-#ifndef restrict
-# if (__STDC_VERSION__ >= 199901L)
- /* C99 */
-# elif defined(__SUNPRO_C) && defined(__C99FEATURES__)
- /* C99 */
-# elif defined(__GNUC__)
-# define restrict __restrict__
-# elif defined(_MSC_VER)
-# define restrict __restrict
-# else
-# define restrict /* */
-# endif
-#endif
-
/* Function visibility */
#ifndef PUBLIC
@@ -160,35 +121,10 @@ typedef unsigned char boolean;
#endif
-/* The __FUNCTION__ gcc variable is generally only used for debugging.
- * If we're not using gcc, define __FUNCTION__ as a cpp symbol here.
- */
+/* XXX: Use standard `__func__` instead */
#ifndef __FUNCTION__
-# if !defined(__GNUC__)
-# if (__STDC_VERSION__ >= 199901L) /* C99 */ || \
- (defined(__SUNPRO_C) && defined(__C99FEATURES__))
-# define __FUNCTION__ __func__
-# else
-# define __FUNCTION__ "<unknown>"
-# endif
-# endif
-# if defined(_MSC_VER) && _MSC_VER < 1300
-# define __FUNCTION__ "<unknown>"
-# endif
+# define __FUNCTION__ __func__
#endif
-#ifndef __func__
-# if (__STDC_VERSION__ >= 199901L) || \
- (defined(__SUNPRO_C) && defined(__C99FEATURES__))
- /* __func__ is part of C99 */
-# elif defined(_MSC_VER)
-# if _MSC_VER >= 1300
-# define __func__ __FUNCTION__
-# else
-# define __func__ "<unknown>"
-# endif
-# endif
-#endif
-
/* This should match linux gcc cdecl semantics everywhere, so that we