likely: make dependencies correctly conditional on CCAN_LIKELY_DEBUG.
authorRusty Russell <rusty@rustcorp.com.au>
Thu, 15 Nov 2012 02:26:08 +0000 (12:56 +1030)
committerRusty Russell <rusty@rustcorp.com.au>
Thu, 15 Nov 2012 02:26:08 +0000 (12:56 +1030)
Without this, it's a trivial header.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
ccan/likely/_info
ccan/likely/likely.h
ccan/likely/test/run-debug.c

index 252169b362c8bf21ef9e21530df1b58db8e983d8..ac43cc2b1a943702c80844f01ffbdb1c5079a751 100644 (file)
@@ -9,6 +9,9 @@
  * help you annotate rare paths in your code for the convenience of the
  * compiler and the reader.
  *
+ * With CCAN_LIKELY_DEBUG defined, it provides statistics for each
+ * likely()/unlikely() call.
+ *
  * License: LGPL (v2.1 or any later version)
  * Author: Rusty Russell <rusty@rustcorp.com.au>
  *
@@ -35,11 +38,20 @@ int main(int argc, char *argv[])
                return 1;
 
        if (strcmp(argv[1], "depends") == 0) {
+#ifdef CCAN_LIKELY_DEBUG
                printf("ccan/str\n");
                printf("ccan/htable\n");
                printf("ccan/hash\n");
+#endif
+               return 0;
+       }
+       if (strcmp(argv[1], "testdepends") == 0) {
+#ifndef CCAN_LIKELY_DEBUG
+               printf("ccan/str\n");
+               printf("ccan/htable\n");
+               printf("ccan/hash\n");
+#endif
                return 0;
        }
-
        return 1;
 }
index 410772dbde78a37ec99c64261758961ae2f2821b..8683a2c94782104153ebe98f976eac38d61e45ba 100644 (file)
@@ -2,7 +2,6 @@
 #ifndef CCAN_LIKELY_H
 #define CCAN_LIKELY_H
 #include "config.h"
-#include <ccan/str/str.h>
 #include <stdbool.h>
 
 #ifndef CCAN_LIKELY_DEBUG
@@ -57,6 +56,8 @@
 #define unlikely(cond) (!!(cond))
 #endif
 #else /* CCAN_LIKELY_DEBUG versions */
+#include <ccan/str/str.h>
+
 #define likely(cond) \
        (_likely_trace(!!(cond), 1, stringify(cond), __FILE__, __LINE__))
 #define unlikely(cond) \
@@ -65,9 +66,6 @@
 long _likely_trace(bool cond, bool expect,
                   const char *condstr,
                   const char *file, unsigned int line);
-#endif
-
-#ifdef CCAN_LIKELY_DEBUG
 /**
  * likely_stats - return description of abused likely()/unlikely()
  * @min_hits: minimum number of hits
index afb21e2be2fd1fd966df24d6e0cf80228cafc38b..83f22afab2bf622141ebb4330af9c88e9de96c4f 100644 (file)
@@ -98,3 +98,8 @@ int main(int argc, char *argv[])
 
        exit(exit_status());
 }
+
+/* Fools ccanlint: it doesn't think we use str, htable or hash. */
+#include <ccan/hash/hash.h>
+#include <ccan/htable/htable.h>
+#include <ccan/str/str.h>