From: Ira Cooper Date: Wed, 13 Jul 2016 10:35:13 +0000 (+0200) Subject: lib:dlinklist: avoid -Wtautological-compare errors with gcc6 X-Git-Tag: tdb-1.3.10~404 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5d85fd85467eb1f8941641d5f71d75e7d5c7234c;p=thirdparty%2Fsamba.git lib:dlinklist: avoid -Wtautological-compare errors with gcc6 We expect these macros to generate tautological compares intentionally, so disabling the warning is just fine. This lets --picky-developer work with gcc6 and newer. Pair-Programmed-With: Michael Adam Signed-off-by: Michael Adam Signed-off-by: Ira Cooper Reviewed-by: Jeremy Allison --- diff --git a/lib/util/dlinklist.h b/lib/util/dlinklist.h index 8a1b84d4429..bdd4f9c9480 100644 --- a/lib/util/dlinklist.h +++ b/lib/util/dlinklist.h @@ -79,6 +79,9 @@ do { \ */ #define DLIST_REMOVE(list, p) \ do { \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wpragmas\"") \ + _Pragma ("GCC diagnostic ignored \"-Wtautological-compare\"") \ if ((p) == (list)) { \ if ((p)->next) (p)->next->prev = (p)->prev; \ (list) = (p)->next; \ @@ -90,6 +93,7 @@ do { \ if ((p)->next) (p)->next->prev = (p)->prev; \ } \ if ((p) != (list)) (p)->next = (p)->prev = NULL; \ + _Pragma ("GCC diagnostic pop") \ } while (0) /* @@ -120,7 +124,11 @@ do { \ (p)->next = (el)->next; \ (el)->next = (p); \ if ((p)->next) (p)->next->prev = (p); \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wpragmas\"") \ + _Pragma ("GCC diagnostic ignored \"-Wtautological-compare\"") \ if ((list)->prev == (el)) (list)->prev = (p); \ + _Pragma ("GCC diagnostic pop") \ }\ } while (0)