build: disable warnings where macros expand to tautological comparisons
authorLubomir Rintel <lkundrak@v3.sk>
Wed, 18 Mar 2015 17:09:08 +0000 (18:09 +0100)
committerLubomir Rintel <lkundrak@v3.sk>
Thu, 19 Mar 2015 10:48:49 +0000 (11:48 +0100)
m4/compiler_warnings.m4
src/nm-logging.h
src/platform/tests/test-common.c
src/platform/tests/test-link.c

index 412acb9..05bc9a0 100644 (file)
@@ -29,7 +29,7 @@ if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
                      -fno-strict-aliasing -Wno-unused-but-set-variable \
                      -Wundef -Wimplicit-function-declaration \
                      -Wpointer-arith -Winit-self \
-                     -Wmissing-include-dirs; do
+                     -Wmissing-include-dirs -Wno-pragmas; do
                dnl GCC 4.4 does not warn when checking for -Wno-* flags (https://gcc.gnu.org/wiki/FAQ#wnowarning)
                CFLAGS="$CFLAGS_MORE_WARNINGS $CFLAGS_EXTRA $(printf '%s' "$option" | sed 's/^-Wno-/-W/')  $CFLAGS_SAVED"
                AC_MSG_CHECKING([whether gcc understands $option])
index 7417dfa..4ae9c02 100644 (file)
@@ -116,11 +116,13 @@ typedef enum  { /*< skip >*/
 /* log a message for an object (with providing a generic @self pointer) */
 #define nm_log_ptr(level, domain, self, ...) \
     G_STMT_START { \
+        NM_PRAGMA_WARNING_DISABLE("-Wtautological-compare") \
         if ((level) <= LOGL_DEBUG) { \
             _nm_log_ptr ((level), (domain), (self), __VA_ARGS__); \
         } else { \
             nm_log ((level), (domain), __VA_ARGS__); \
         } \
+        NM_PRAGMA_WARNING_REENABLE \
     } G_STMT_END
 
 
index 3e716bf..d8e8775 100644 (file)
@@ -257,6 +257,7 @@ main (int argc, char **argv)
 
        nmtst_init_with_logging (&argc, &argv, NULL, "ALL");
 
+       NM_PRAGMA_WARNING_DISABLE("-Wtautological-compare")
        if (SETUP == nm_linux_platform_setup && getuid() != 0) {
                /* Try to exec as sudo, this function does not return, if a sudo-cmd is set. */
                nmtst_reexec_sudo ();
@@ -269,6 +270,7 @@ main (int argc, char **argv)
                return 77;
 #endif
        }
+       NM_PRAGMA_WARNING_REENABLE
 
        SETUP ();
 
index 8bd2ef4..ec4f9ba 100644 (file)
@@ -365,12 +365,14 @@ test_bridge (void)
 static void
 test_bond (void)
 {
+       NM_PRAGMA_WARNING_DISABLE("-Wtautological-compare")
        if (SETUP == nm_linux_platform_setup &&
            !g_file_test ("/proc/1/net/bonding", G_FILE_TEST_IS_DIR) &&
            system("modprobe --show bonding") != 0) {
                g_test_skip ("Skipping test for bonding: bonding module not available");
                return;
        }
+       NM_PRAGMA_WARNING_REENABLE
 
        test_software (NM_LINK_TYPE_BOND, "bond");
 }