probing for compiler attributes?

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

 



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

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

  Powered by Linux