1 dnl Copyright (C) 2004-2008 Kim Woelders
2 dnl This code is public domain and can be freely used or copied.
3 dnl Originally snatched from somewhere...
5 dnl Macro for checking if the compiler supports __attribute__
7 dnl Usage: AC_C___ATTRIBUTE__
9 dnl Call AC_DEFINE for HAVE___ATTRIBUTE__ and __UNUSED__.
10 dnl If the compiler supports __attribute__, HAVE___ATTRIBUTE__ is
11 dnl defined to 1 and __UNUSED__ is defined to __attribute__((unused))
12 dnl otherwise, HAVE___ATTRIBUTE__ is not defined and __UNUSED__ is
13 dnl defined to nothing.
15 AC_DEFUN([AC_C___ATTRIBUTE__],
17 AC_MSG_CHECKING(for __attribute__)
18 AC_CACHE_VAL(ac_cv___attribute__, [
19 AC_TRY_COMPILE([#include <stdlib.h>],
20 [int func(int x); int foo(int x __attribute__ ((unused))) { exit(1); }],
21 ac_cv___attribute__=yes, ac_cv___attribute__=no)])
22 if test "$ac_cv___attribute__" = "yes"; then
23 AC_DEFINE(HAVE___ATTRIBUTE__, 1, [Define to 1 if your compiler has __attribute__])
24 AC_DEFINE(__UNUSED__, __attribute__((unused)), [Macro declaring a function argument to be unused])
26 AC_DEFINE(__UNUSED__, , [Macro declaring a function argument to be unused])
28 AC_MSG_RESULT($ac_cv___attribute__)