diff options
| author | Tomi Ollila <tomi.ollila@iki.fi> | 2016-03-01 21:30:07 +0200 |
|---|---|---|
| committer | David Bremner <david@tethera.net> | 2016-03-14 19:54:32 -0300 |
| commit | 342910a2806aee312f61280c3329cac24c26cfd4 (patch) | |
| tree | 528b6fa6b69ffdb00bb5fb2f293dd9bf01215dc2 /lib | |
| parent | b8a136187a3bee1e08aa702951db4b721f0eda6d (diff) | |
lib: NOTMUCH_DEPRECATED macro also for older compilers
Some compilers (older than gcc 4.5 and clang 2.9) do support
__attribute__ ((deprecated)) but not
__attribute__ ((deprecated("message"))).
Check if clang version is at least 3.0, or gcc version
is at least 4.5 to define NOTMUCH_DEPRECATED as the
latter variant above. Otherwise define NOTMUCH_DEPRECATED
as the former variant above.
For a bit simpler implementation clang 2.9 is not included
to use the newer variant. It is just one release, and the
older one works fine. Clang 3.0 was released around 2011-11
and gcc 5.1 2015-04-22 (therefore newer macro for gcc 4.5+)
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/notmuch.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/notmuch.h b/lib/notmuch.h index 310a8b8a..cb46fc05 100644 --- a/lib/notmuch.h +++ b/lib/notmuch.h @@ -59,8 +59,17 @@ NOTMUCH_BEGIN_DECLS #define LIBNOTMUCH_MINOR_VERSION 3 #define LIBNOTMUCH_MICRO_VERSION 0 + +#if defined (__clang_major__) && __clang_major__ >= 3 \ + || defined (__GNUC__) && __GNUC__ >= 5 \ + || defined (__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ >= 5 #define NOTMUCH_DEPRECATED(major,minor) \ __attribute__ ((deprecated ("function deprecated as of libnotmuch " #major "." #minor))) +#else +#define NOTMUCH_DEPRECATED(major,minor) __attribute__ ((deprecated)) +#endif + + #endif /* __DOXYGEN__ */ /** |
