classpath
[Top][All Lists]
Advanced

[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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]