[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: RFC: __attribute__ handling
From: |
Christian Thalinger |
Subject: |
Re: RFC: __attribute__ handling |
Date: |
Mon, 03 Oct 2005 10:27:04 +0200 |
On Sat, 2005-10-01 at 14:03 -0600, Tom Tromey wrote:
> One typical way is to find a header that is used everywhere and add:
>
> #ifndef __GCC__
> #define __attribute__()
> #endif
>
> I don't think we have a header like this other than config.h.
> Adding non-configure-generated defines there is mildly frowned upon
> but can be done.
This is the ac macro we have used:
AN_IDENTIFIER([attribute], [AC_C_ATTRIBUTE])
AC_DEFUN([AC_C_ATTRIBUTE],
[AC_CACHE_CHECK([for __attribute__], ac_cv_c_attribute,
[
AC_COMPILE_IFELSE([AC_LANG_SOURCE(
[void foo(void) __attribute__ ((__noreturn__));]
)],
[ac_cv_c_attribute=yes],
[ac_cv_c_attribute=no]
)
])
AH_VERBATIM([attribute],
[/* Define to `__attribute__' to nothing if it's not supported. */
#ifndef __cplusplus
#undef __attribute__
#endif])
case $ac_cv_c_attribute in
yes) ;;
no)
cat >>confdefs.h <<_ACEOF
#ifndef __cplusplus
#define __attribute__(x) /* nothing */
#endif
_ACEOF
;;
esac
])# AC_C_ATTRIBUTE
Defining it directly in config.h may also be an option. You decide...
TWISTI