[systemd-commits] src/shared

David Herrmann dvdhrm at kemper.freedesktop.org
Fri Nov 22 00:20:15 PST 2013


 src/shared/macro.h |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

New commits:
commit b5be11e82364d65bec3647e6a26dca482bd6a491
Author: David Herrmann <dh.herrmann at gmail.com>
Date:   Fri Nov 22 09:19:00 2013 +0100

    macro: fix assert_cc() fallback
    
    We need two-level macro-expansion, otherwise __LINE__ will not get
    evaluated.

diff --git a/src/shared/macro.h b/src/shared/macro.h
index c22de91..aadb195 100644
--- a/src/shared/macro.h
+++ b/src/shared/macro.h
@@ -145,7 +145,9 @@ static inline size_t ALIGN_TO(size_t l, size_t ali) {
 #if defined(static_assert)
 #define assert_cc(expr) static_assert(expr, #expr)
 #else
-#define assert_cc(expr) struct _assert_struct_ ## __LINE__ { char x[(expr) ? 0 : -1]; }
+#define assert___cc(expr, line) struct _assert_struct_ ## line { char x[(expr) ? 0 : -1]; }
+#define assert__cc(expr, line) assert___cc((expr), line)
+#define assert_cc(expr) assert__cc((expr), __LINE__)
 #endif
 
 #define assert_return(expr, r)                    \



More information about the systemd-commits mailing list