svn commit: r194578 - head/sys/sys
Roman Divacky
rdivacky at FreeBSD.org
Sun Jun 21 09:01:12 UTC 2009
Author: rdivacky
Date: Sun Jun 21 09:01:12 2009
New Revision: 194578
URL: http://svn.freebsd.org/changeset/base/194578
Log:
In non-debugging mode make this define (void)0 instead of nothing. This
helps to catch bugs like the below with clang.
if (cond); <--- note the trailing ;
something();
Approved by: ed (mentor)
Discussed on: current@
Modified:
head/sys/sys/ktr.h
head/sys/sys/lock.h
head/sys/sys/lock_profile.h
head/sys/sys/mutex.h
head/sys/sys/sched.h
head/sys/sys/sx.h
Modified: head/sys/sys/ktr.h
==============================================================================
--- head/sys/sys/ktr.h Sun Jun 21 08:49:06 2009 (r194577)
+++ head/sys/sys/ktr.h Sun Jun 21 09:01:12 2009 (r194578)
@@ -147,13 +147,13 @@ void ktr_tracepoint(u_int mask, const ch
#define CTR4(m, format, p1, p2, p3, p4) CTR6(m, format, p1, p2, p3, p4, 0, 0)
#define CTR5(m, format, p1, p2, p3, p4, p5) CTR6(m, format, p1, p2, p3, p4, p5, 0)
#else /* KTR */
-#define CTR0(m, d)
-#define CTR1(m, d, p1)
-#define CTR2(m, d, p1, p2)
-#define CTR3(m, d, p1, p2, p3)
-#define CTR4(m, d, p1, p2, p3, p4)
-#define CTR5(m, d, p1, p2, p3, p4, p5)
-#define CTR6(m, d, p1, p2, p3, p4, p5, p6)
+#define CTR0(m, d) (void)0
+#define CTR1(m, d, p1) (void)0
+#define CTR2(m, d, p1, p2) (void)0
+#define CTR3(m, d, p1, p2, p3) (void)0
+#define CTR4(m, d, p1, p2, p3, p4) (void)0
+#define CTR5(m, d, p1, p2, p3, p4, p5) (void)0
+#define CTR6(m, d, p1, p2, p3, p4, p5, p6) (void)0
#endif /* KTR */
#define TR0(d) CTR0(KTR_GEN, d)
Modified: head/sys/sys/lock.h
==============================================================================
--- head/sys/sys/lock.h Sun Jun 21 08:49:06 2009 (r194577)
+++ head/sys/sys/lock.h Sun Jun 21 09:01:12 2009 (r194578)
@@ -283,21 +283,21 @@ void witness_thread_exit(struct thread *
witness_line(lock)
#else /* WITNESS */
-#define WITNESS_INIT(lock, type)
-#define WITNESS_DESTROY(lock)
+#define WITNESS_INIT(lock, type) (void)0
+#define WITNESS_DESTROY(lock) (void)0
#define WITNESS_DEFINEORDER(lock1, lock2) 0
-#define WITNESS_CHECKORDER(lock, flags, file, line, interlock)
-#define WITNESS_LOCK(lock, flags, file, line)
-#define WITNESS_UPGRADE(lock, flags, file, line)
-#define WITNESS_DOWNGRADE(lock, flags, file, line)
-#define WITNESS_UNLOCK(lock, flags, file, line)
+#define WITNESS_CHECKORDER(lock, flags, file, line, interlock) (void)0
+#define WITNESS_LOCK(lock, flags, file, line) (void)0
+#define WITNESS_UPGRADE(lock, flags, file, line) (void)0
+#define WITNESS_DOWNGRADE(lock, flags, file, line) (void)0
+#define WITNESS_UNLOCK(lock, flags, file, line) (void)0
#define WITNESS_CHECK(flags, lock, fmt, ...) 0
-#define WITNESS_WARN(flags, lock, fmt, ...)
-#define WITNESS_SAVE_DECL(n)
-#define WITNESS_SAVE(lock, n)
-#define WITNESS_RESTORE(lock, n)
-#define WITNESS_NORELEASE(lock)
-#define WITNESS_RELEASEOK(lock)
+#define WITNESS_WARN(flags, lock, fmt, ...) (void)0
+#define WITNESS_SAVE_DECL(n) (void)0
+#define WITNESS_SAVE(lock, n) (void)0
+#define WITNESS_RESTORE(lock, n) (void)0
+#define WITNESS_NORELEASE(lock) (void)0
+#define WITNESS_RELEASEOK(lock) (void)0
#define WITNESS_FILE(lock) ("?")
#define WITNESS_LINE(lock) (0)
#endif /* WITNESS */
Modified: head/sys/sys/lock_profile.h
==============================================================================
--- head/sys/sys/lock_profile.h Sun Jun 21 08:49:06 2009 (r194577)
+++ head/sys/sys/lock_profile.h Sun Jun 21 09:01:12 2009 (r194578)
@@ -63,10 +63,10 @@ lock_profile_obtain_lock_failed(struct l
#else /* !LOCK_PROFILING */
-#define lock_profile_release_lock(lo)
-#define lock_profile_obtain_lock_failed(lo, contested, waittime)
-#define lock_profile_obtain_lock_success(lo, contested, waittime, file, line)
-#define lock_profile_thread_exit(td)
+#define lock_profile_release_lock(lo) (void)0
+#define lock_profile_obtain_lock_failed(lo, contested, waittime) (void)0
+#define lock_profile_obtain_lock_success(lo, contested, waittime, file, line) (void)0
+#define lock_profile_thread_exit(td) (void)0
#endif /* !LOCK_PROFILING */
Modified: head/sys/sys/mutex.h
==============================================================================
--- head/sys/sys/mutex.h Sun Jun 21 08:49:06 2009 (r194577)
+++ head/sys/sys/mutex.h Sun Jun 21 09:01:12 2009 (r194578)
@@ -438,7 +438,7 @@ struct mtx_args {
#define GIANT_REQUIRED mtx_assert(&Giant, MA_OWNED)
#else /* INVARIANTS */
-#define mtx_assert(m, what)
+#define mtx_assert(m, what) (void)0
#define GIANT_REQUIRED
#endif /* INVARIANTS */
Modified: head/sys/sys/sched.h
==============================================================================
--- head/sys/sys/sched.h Sun Jun 21 08:49:06 2009 (r194577)
+++ head/sys/sys/sched.h Sun Jun 21 09:01:12 2009 (r194578)
@@ -173,7 +173,7 @@ extern long sched_switch_stats[SWT_COUNT
#else
#define SCHED_STAT_DEFINE_VAR(name, descr, ptr)
#define SCHED_STAT_DEFINE(name, descr)
-#define SCHED_STAT_INC(var)
+#define SCHED_STAT_INC(var) (void)0
#endif
/*
Modified: head/sys/sys/sx.h
==============================================================================
--- head/sys/sys/sx.h Sun Jun 21 08:49:06 2009 (r194577)
+++ head/sys/sys/sx.h Sun Jun 21 09:01:12 2009 (r194578)
@@ -293,7 +293,7 @@ __sx_sunlock(struct sx *sx, const char *
#ifdef INVARIANTS
#define sx_assert(sx, what) _sx_assert((sx), (what), LOCK_FILE, LOCK_LINE)
#else
-#define sx_assert(sx, what)
+#define sx_assert(sx, what) (void)0
#endif
#endif /* _KERNEL */
More information about the svn-src-head
mailing list