summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/compiler.h
diff options
context:
space:
mode:
authorJosé Fonseca <[email protected]>2013-03-12 11:17:49 +0000
committerIan Romanick <[email protected]>2013-04-05 19:01:07 -0700
commitfe72a61382ae1192adf72c53d664bc2a361ad93b (patch)
treec2696970c3682d597d450527029cec92963cc6a2 /src/mesa/main/compiler.h
parente2695d53c72e1941a2ccd85514b155102f3f5e47 (diff)
mesa,gallium,egl,mapi: One definition of C99 inline/__func__ to rule them all.
This is a squash-commit of the two commits listed below. The first introduced a 'make check' failure, and the second fixed it. 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 <[email protected]> (cherry picked from commit 70fe7c6d3e1c7534f6598c4616bebf672f42668b) And: tests: Add $(top_srcdir)/include to AM_CPPFLAGS. Fixes this build error with make check. CC collision.o In file included from ../../../../../src/mesa/main/hash_table.h:34:0, from collision.c:31: ../../../../../src/mesa/main/compiler.h:51:53: fatal error: c99_compat.h: No such file or directory Signed-off-by: Vinson Lee <[email protected]> (cherry picked from commit a6bb7a94957468453c436e3860ee2dd47575c461)
Diffstat (limited to 'src/mesa/main/compiler.h')
-rw-r--r--src/mesa/main/compiler.h56
1 files changed, 5 insertions, 51 deletions
diff --git a/src/mesa/main/compiler.h b/src/mesa/main/compiler.h
index b22b994857b..48712485a79 100644
--- a/src/mesa/main/compiler.h
+++ b/src/mesa/main/compiler.h
@@ -48,6 +48,8 @@
#include <float.h>
#include <stdarg.h>
+#include "c99_compat.h" /* inline, __func__, etc. */
+
#ifdef __cplusplus
extern "C" {
@@ -111,30 +113,7 @@ extern "C" {
-/**
- * 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
@@ -177,35 +156,10 @@ extern "C" {
# endif
#endif
-/**
- * The __FUNCTION__ gcc variable is generally only used for debugging.
- * If we're not using gcc, define __FUNCTION__ as a cpp symbol here.
- * Don't define it if using a newer Windows compiler.
- */
+/* XXX: Use standard `__func__` instead */
#ifndef __FUNCTION__
-# if !defined(__GNUC__) && !defined(__xlC__) && \
- (!defined(_MSC_VER) || _MSC_VER < 1300)
-# if (__STDC_VERSION__ >= 199901L) /* C99 */ || \
- (defined(__SUNPRO_C) && defined(__C99FEATURES__))
-# define __FUNCTION__ __func__
-# else
-# define __FUNCTION__ "<unknown>"
-# endif
-# 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
-
/**
* Either define MESA_BIG_ENDIAN or MESA_LITTLE_ENDIAN, and CPU_TO_LE32.