Re: probing for compiler attributes?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8/8/07, John W. Eaton <jwe@xxxxxxxxxxxxxxxxx> 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
> Autoconf@xxxxxxx
> 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
Autoconf@xxxxxxx
http://lists.gnu.org/mailman/listinfo/autoconf

[Index of Archives]     [GCC Help]     [Kernel Discussion]     [RPM Discussion]     [Red Hat Development]     [Yosemite News]     [Linux USB]     [Samba]

  Powered by Linux