xref: /freebsd/contrib/openpam/include/security/openpam_attr.h (revision dd41de95a84d979615a2ef11df6850622bf6184e)
1 /*
2  * $OpenPAM: openpam_attr.h 938 2017-04-30 21:34:42Z des $
3  */
4 
5 #ifndef SECURITY_OPENPAM_ATTR_H_INCLUDED
6 #define SECURITY_OPENPAM_ATTR_H_INCLUDED
7 
8 /* GCC attributes */
9 #if defined(__GNUC__) && defined(__GNUC_MINOR__) && !defined(__STRICT_ANSI__)
10 # define OPENPAM_GNUC_PREREQ(maj, min) \
11         ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
12 #else
13 # define OPENPAM_GNUC_PREREQ(maj, min) 0
14 #endif
15 
16 #if OPENPAM_GNUC_PREREQ(2,5)
17 # define OPENPAM_FORMAT(params) __attribute__((__format__ params))
18 #else
19 # define OPENPAM_FORMAT(params)
20 #endif
21 
22 #if OPENPAM_GNUC_PREREQ(3,3)
23 # define OPENPAM_NONNULL(params) __attribute__((__nonnull__ params))
24 #else
25 # define OPENPAM_NONNULL(params)
26 #endif
27 
28 #if OPENPAM_GNUC_PREREQ(2,7)
29 # define OPENPAM_UNUSED(var) var __attribute__((__unused__))
30 #else
31 # define OPENPAM_UNUSED(var) var
32 #endif
33 
34 #endif /* !SECURITY_OPENPAM_ATTR_H_INCLUDED */
35