[Top][All Lists]

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

probing for compiler attributes?

From: John W. Eaton
Subject: probing for compiler attributes?
Date: Tue, 07 Aug 2007 20:43:54 -0400

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

  #ifdef __GNUC__
  #define ATTR_MALLOC __attribute__((malloc))
  #define ATTR_MALLOC

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.


reply via email to

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