Provide a NORETURN_ATTRIBUTE macro similar to PRINTF_ATTRIBUTE

This attribute is understood by gcc since version 2.5. clang provides
support for testing for function attributes using __has_attribute. For
other compilers this macro evaluates to the empty string.

Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
This commit is contained in:
Justus Winter 2012-09-24 17:21:16 +02:00 committed by David Bremner
parent da12807734
commit 25d97b9791

View file

@ -28,4 +28,20 @@
#define __has_attribute(x) 0 #define __has_attribute(x) 0
#endif #endif
/* Provide a NORETURN_ATTRIBUTE macro similar to PRINTF_ATTRIBUTE from
* talloc.
*
* This attribute is understood by gcc since version 2.5. clang
* provides support for testing for function attributes.
*/
#ifndef NORETURN_ATTRIBUTE
#if (__GNUC__ >= 3 || \
(__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || \
__has_attribute (noreturn))
#define NORETURN_ATTRIBUTE __attribute__ ((noreturn))
#else
#define NORETURN_ATTRIBUTE
#endif
#endif
#endif #endif