From 7e2d0ef10588b37922a6b48ca18005ce51bc0669 Mon Sep 17 00:00:00 2001 From: David Bremner Date: Sun, 7 Jun 2015 17:01:54 +0200 Subject: [PATCH] lib: define NOTMUCH_DEPRECATED macro, document its use. This has been tested with gcc and clang. --- devel/STYLE | 10 ++++++++++ doc/doxygen.cfg | 2 +- lib/notmuch.h | 2 ++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/devel/STYLE b/devel/STYLE index 92de42cc..24bd5482 100644 --- a/devel/STYLE +++ b/devel/STYLE @@ -93,3 +93,13 @@ libnotmuch conventions * Code which needs to be accessed from both the CLI and from libnotmuch should be factored out into libutil (under util/). + +* Deprecated functions should be marked with the NOTMUCH_DEPRECATED + macro which generates run time warnings with gcc and clang. In order + not to confuse doxygen this should go at the beginning of the + declaration like: + + NOTMUCH_DEPRECATED(major,minor) notmuch_status_t notmuch_dwim(void *arg); + + The @deprecated doxygen command can be used to generate markup in + the API docs. diff --git a/doc/doxygen.cfg b/doc/doxygen.cfg index 42b63394..c033f344 100644 --- a/doc/doxygen.cfg +++ b/doc/doxygen.cfg @@ -74,7 +74,7 @@ STRICT_PROTO_MATCHING = NO GENERATE_TODOLIST = NO GENERATE_TESTLIST = NO GENERATE_BUGLIST = NO -GENERATE_DEPRECATEDLIST= NO +GENERATE_DEPRECATEDLIST= YES ENABLED_SECTIONS = MAX_INITIALIZER_LINES = 30 SHOW_USED_FILES = NO diff --git a/lib/notmuch.h b/lib/notmuch.h index c8edc84d..9b5046b4 100644 --- a/lib/notmuch.h +++ b/lib/notmuch.h @@ -59,6 +59,8 @@ NOTMUCH_BEGIN_DECLS #define LIBNOTMUCH_MINOR_VERSION 2 #define LIBNOTMUCH_MICRO_VERSION 0 +#define NOTMUCH_DEPRECATED(major,minor) \ + __attribute__ ((deprecated ("function deprecated as of libnotmuch " #major "." #minor))) #endif /* __DOXYGEN__ */ /** -- 2.26.2