diff --git a/glib/tests/refcount.c b/glib/tests/refcount.c index dfccc92c7..e19a2d7ef 100644 --- a/glib/tests/refcount.c +++ b/glib/tests/refcount.c @@ -76,7 +76,8 @@ test_grefcount (void) /* test_grefcount_saturation: Saturating a grefcount counter * does not cause an overflow; additionally, if we're building - * with checks enabled, it'll cause a warning + * with checks enabled or with non-GCC compilers, it'll cause a + * warning */ static void test_grefcount_saturation (void) @@ -99,16 +100,16 @@ test_grefcount_saturation (void) g_test_trap_subprocess (NULL, 0, 0); -#ifndef G_DISABLE_CHECKS - /* Ensure that we got a warning when building with checks; the - * test will fail because of the critical warning being caught - * by GTest +#if defined (G_DISABLE_CHECKS) && defined (__GNUC__) + /* With checks disabled we don't get any warning */ + g_test_trap_assert_passed (); +#else + /* Ensure that we got a warning when building with checks or with + * non-GCC compilers; the test will fail because of the critical + * warning being caught by GTest */ g_test_trap_assert_failed (); g_test_trap_assert_stderr ("*saturation*"); -#else - /* With checks disabled we don't get any warning */ - g_test_trap_assert_passed (); #endif } @@ -167,9 +168,9 @@ test_gatomicrefcount (void) g_assert_true (g_atomic_ref_count_dec (&a)); } -/* test_grefcount_saturation: Saturating a gatomicrefcount counter - * does not cause an overflow; additionally, if we're building - * with checks enabled, it'll cause a warning +/* test_gatomicrefcount_saturation: Saturating a gatomicrefcount counter + * does not cause an overflow; additionally, if we're building with + * checks enabled or with non-GCC compilers, it'll cause a warning */ static void test_gatomicrefcount_saturation (void) @@ -192,16 +193,16 @@ test_gatomicrefcount_saturation (void) g_test_trap_subprocess (NULL, 0, 0); -#ifndef G_DISABLE_CHECKS - /* Ensure that we got a warning when building with checks; the - * test will fail because of the critical warning being caught - * by GTest +#if defined (G_DISABLE_CHECKS) && defined (__GNUC__) + /* With checks disabled we don't get any warning */ + g_test_trap_assert_passed (); +#else + /* Ensure that we got a warning when building with checks or with + * non-GCC compilers; the test will fail because of the critical + * warning being caught by GTest */ g_test_trap_assert_failed (); g_test_trap_assert_stderr ("*saturation*"); -#else - /* With checks disabled we don't get any warning */ - g_test_trap_assert_passed (); #endif }