On 8/8/07, John W. Eaton <[EMAIL PROTECTED]> wrote:
> On 7-Aug-2007, Joshua Hoblitt wrote:
>
> | Is there a pre-canned AC macro or other reliable means of testing for
> | compiler attributes?
> |
> | I have an awful lot of code that looks something like this:
> |
> | void *myfunc(char *myvar
> | #ifdef __GNUC__
> | ) __attribute__((malloc));
> | # else // ifdef __GNUC__
> | );
> | #endif // ifdef __GNUC__
> |
> | and it has to the potential to get a lot worse if I have to start testing
> | for what version of GNUC we have to use a new attribute.
>
> Ugh. Don't do it like that. Instead, write something like
>
> your-config-header.h:
> --------------------
> #ifdef __GNUC__
> #define ATTR_MALLOC __attribute__((malloc))
> #else
> #define ATTR_MALLOC
> #endif
>
> and then in your code, just use
>
> #include "your-config-header.h"
> ...
> void *myfunc (char *myvar) ATTR_MALLOC;
>
> You may still want some autoconf macros to check whether the
> attributes are supported, but with this style it won't be so messy
> since the cpp #ifdefs only have to appear in one place.
>
> jwe
>
>
> _______________________________________________
> Autoconf mailing list
> [email protected]
> http://lists.gnu.org/mailman/listinfo/autoconf
>
Isn't that already provided?
I can read these 2 lines
ax_gcc_malloc_call
defines GCC_MALLOC_CALL to __attribute__((__malloc__)) if ok
at the link above mentioned:
http://autoconf-archive.cryp.to/macros-by-category.html
_______________________________________________
Autoconf mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/autoconf