aboutsummaryrefslogtreecommitdiffstats
path: root/autoconf/ast_gcc_attribute.m4
diff options
context:
space:
mode:
Diffstat (limited to 'autoconf/ast_gcc_attribute.m4')
-rw-r--r--autoconf/ast_gcc_attribute.m417
1 files changed, 17 insertions, 0 deletions
diff --git a/autoconf/ast_gcc_attribute.m4 b/autoconf/ast_gcc_attribute.m4
new file mode 100644
index 000000000..d47d375e6
--- /dev/null
+++ b/autoconf/ast_gcc_attribute.m4
@@ -0,0 +1,17 @@
+# Helper function to check for gcc attributes.
+# AST_GCC_ATTRIBUTE([attribute name])
+
+AC_DEFUN([AST_GCC_ATTRIBUTE],
+[
+AC_MSG_CHECKING(for compiler 'attribute $1' support)
+saved_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -Werror"
+AC_COMPILE_IFELSE(
+ AC_LANG_PROGRAM([static void __attribute__(($1)) *test(void *muffin, ...) {}],
+ []),
+ AC_MSG_RESULT(yes)
+ AC_DEFINE_UNQUOTED([HAVE_ATTRIBUTE_$1], 1, [Define to 1 if your GCC C compiler supports the '$1' attribute.]),
+ AC_MSG_RESULT(no))
+]
+CFLAGS="$saved_CFLAGS"
+)