[tor-commits] [tor/release-0.2.2] Don't warn when compiling with --disable-threads
arma at torproject.org
arma at torproject.org
Sun Nov 20 20:08:26 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