[tor-commits] [tor/maint-0.2.2] Don't warn when compiling with --disable-threads

nickm at torproject.org nickm at torproject.org
Wed Nov 9 15:25:50 UTC 2011


commit 0cc7a63fc0f8e23e0dc01a36de9a369671bdd4d5
Author: Sebastian Hahn <sebastian at torproject.org>
Date:   Tue Nov 8 08:09:40 2011 +0100

    Don't warn when compiling with --disable-threads
    
    STMT_VOID semantics suggested by nick, thanks!
---
 changes/bug4437     |    5 +++++
 src/common/compat.h |    6 +++++-
 2 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/changes/bug4437 b/changes/bug4437
new file mode 100644
index 0000000..985c670
--- /dev/null
+++ b/changes/bug4437
@@ -0,0 +1,5 @@
+  o Minor bugfixes:
+    - Don't warn about unused log_mutex in log.c when building with
+      --disable-threads using a recent GCC. Fixes bug 4437; bugfix on
+      0.1.0.6-rc which introduced --disable-threads.
+
diff --git a/src/common/compat.h b/src/common/compat.h
index eb79b04..7e6058a 100644
--- a/src/common/compat.h
+++ b/src/common/compat.h
@@ -177,6 +177,10 @@ extern INLINE double U64_TO_DBL(uint64_t x) {
 /** Expands to a syntactically valid empty statement.  */
 #define STMT_NIL (void)0
 
+/** Expands to a syntactically valid empty statement, explicitly (void)ing its
+ * argument. */
+#define STMT_VOID(a) while (0) { (void)(a); }
+
 #ifdef __GNUC__
 /** STMT_BEGIN and STMT_END are used to wrap blocks inside macros so that
  * the macro can be used as if it were a single C statement. */
@@ -610,7 +614,7 @@ void tor_threads_init(void);
 #else
 #define tor_mutex_new() ((tor_mutex_t*)tor_malloc(sizeof(int)))
 #define tor_mutex_init(m) STMT_NIL
-#define tor_mutex_acquire(m) STMT_NIL
+#define tor_mutex_acquire(m) STMT_VOID(m)
 #define tor_mutex_release(m) STMT_NIL
 #define tor_mutex_free(m) STMT_BEGIN tor_free(m); STMT_END
 #define tor_mutex_uninit(m) STMT_NIL



More information about the tor-commits mailing list