Silence "expression result unused" warnings in AssertVariableIsOfTypeMacro
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 12 Nov 2012 13:02:40 +0000 (15:02 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 12 Nov 2012 13:02:40 +0000 (15:02 +0200)
At least clang 3.1 generates those warnings. Prepend (void) to avoid them,
like we have in AssertMacro.

src/include/c.h

index 3b0fa9c4f01d2e12b142fb7c7a36420cb0081fae..a6c0e6e65053ccfa52051f8eaa179ecf24d83f48 100644 (file)
@@ -736,15 +736,15 @@ typedef NameData *Name;
    StaticAssertStmt(__builtin_types_compatible_p(__typeof__(varname), typename), \
    CppAsString(varname) " does not have type " CppAsString(typename))
 #define AssertVariableIsOfTypeMacro(varname, typename) \
-   StaticAssertExpr(__builtin_types_compatible_p(__typeof__(varname), typename), \
-   CppAsString(varname) " does not have type " CppAsString(typename))
+   ((void) StaticAssertExpr(__builtin_types_compatible_p(__typeof__(varname), typename), \
+    CppAsString(varname) " does not have type " CppAsString(typename)))
 #else /* !HAVE__BUILTIN_TYPES_COMPATIBLE_P */
 #define AssertVariableIsOfType(varname, typename) \
    StaticAssertStmt(sizeof(varname) == sizeof(typename), \
    CppAsString(varname) " does not have type " CppAsString(typename))
 #define AssertVariableIsOfTypeMacro(varname, typename) \
-   StaticAssertExpr(sizeof(varname) == sizeof(typename), \
-   CppAsString(varname) " does not have type " CppAsString(typename))
+   ((void) StaticAssertExpr(sizeof(varname) == sizeof(typename),       \
+    CppAsString(varname) " does not have type " CppAsString(typename)))
 #endif /* HAVE__BUILTIN_TYPES_COMPATIBLE_P */