From 8c83422b5fde109b2af462d8d383cfadad35a99a Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Mon, 15 Aug 2011 09:52:04 +0100 Subject: [PATCH] Fix compilation of (no-op) alignment assertions on non-gcc do {} while (0) isn't valid at file scope, so the non-gcc code path was broken; in particular, this affected MSVC. Reviewed-by:Ralf Habacker --- dbus/dbus-marshal-basic.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dbus/dbus-marshal-basic.c b/dbus/dbus-marshal-basic.c index 215cc95..b139853 100644 --- a/dbus/dbus-marshal-basic.c +++ b/dbus/dbus-marshal-basic.c @@ -33,7 +33,10 @@ # define _DBUS_ASSERT_ALIGNMENT(type, op, val) \ _DBUS_STATIC_ASSERT (__extension__ __alignof__ (type) op val) #else -# define _DBUS_ASSERT_ALIGNMENT(type, op, val) do { } while (0) + /* not gcc, so probably no alignof operator: just use a no-op statement + * that's valid in the same contexts */ +# define _DBUS_ASSERT_ALIGNMENT(type, op, val) \ + _DBUS_STATIC_ASSERT (TRUE) #endif /* True by definition, but just for completeness... */ -- 2.7.4