summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMatt Turner <mattst88@gmail.com>2014-09-21 18:14:01 -0700
committerMatt Turner <mattst88@gmail.com>2014-09-25 13:52:55 -0700
commit976464c210816ff0c90e2e24e766dda81193fc79 (patch)
tree2d5bc60e59715fc38693c9b41eec6de930319e81 /src
parent4a96df73e770bcca6396d3c8ffe3fd1693c73e50 (diff)
downloadexternal_mesa3d-976464c210816ff0c90e2e24e766dda81193fc79.zip
external_mesa3d-976464c210816ff0c90e2e24e766dda81193fc79.tar.gz
external_mesa3d-976464c210816ff0c90e2e24e766dda81193fc79.tar.bz2
mesa: Replace a priori knowledge of gcc attributes with configure tests.
Note that I had to add support for testing the packed attribute to m4/ax_gcc_func_attribute.m4. Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com> [C bits] Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Diffstat (limited to 'src')
-rw-r--r--src/mesa/drivers/dri/i965/intel_tex_subimage.c6
-rw-r--r--src/util/macros.h11
2 files changed, 7 insertions, 10 deletions
diff --git a/src/mesa/drivers/dri/i965/intel_tex_subimage.c b/src/mesa/drivers/dri/i965/intel_tex_subimage.c
index a121816..cb5738a 100644
--- a/src/mesa/drivers/dri/i965/intel_tex_subimage.c
+++ b/src/mesa/drivers/dri/i965/intel_tex_subimage.c
@@ -334,12 +334,6 @@ ytile_copy(
}
}
-#ifdef __GNUC__
-#define FLATTEN __attribute__((flatten))
-#else
-#define FLATTEN
-#endif
-
/**
* Copy texture data from linear to X tile layout, faster.
*
diff --git a/src/util/macros.h b/src/util/macros.h
index 2e2f90f..a9867b4 100644
--- a/src/util/macros.h
+++ b/src/util/macros.h
@@ -75,24 +75,27 @@ do { \
#define unreachable(str)
#endif
+#ifdef HAVE_FUNC_ATTRIBUTE_FLATTEN
+#define FLATTEN __attribute__((__flatten__))
+#else
+#define FLATTEN
+#endif
-#if (__GNUC__ >= 3)
+#ifdef HAVE_FUNC_ATTRIBUTE_FORMAT
#define PRINTFLIKE(f, a) __attribute__ ((format(__printf__, f, a)))
#else
#define PRINTFLIKE(f, a)
#endif
-
/* Used to optionally mark structures with misaligned elements or size as
* packed, to trade off performance for space.
*/
-#if (__GNUC__ >= 3)
+#ifdef HAVE_FUNC_ATTRIBUTE_PACKED
#define PACKED __attribute__((__packed__))
#else
#define PACKED
#endif
-
#ifdef __cplusplus
/**
* Macro function that evaluates to true if T is a trivially