Fix gctest failure for Darwin if CPPCHECK is defined
authorIvan Maidanski <ivmai@mail.ru>
Thu, 16 Mar 2017 22:10:41 +0000 (01:10 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Thu, 16 Mar 2017 22:10:41 +0000 (01:10 +0300)
(fix commits c5d4ef9, 857bb8a)

* tests/test.c [TEST_FORK_WITHOUT_ATFORK] (NO_TEST_HANDLE_FORK):
Define even if CPPCHECK (i.e., CPPCHECK should not imply testing of
HANDLE_FORK).
* tests/test.c [GC_PTHREADS && CPPCHECK] (main): Remove duplicate check
for GC_PTHREADS.
* tests/test.c [GC_PTHREADS && CPPCHECK && NO_TEST_HANDLE_FORK] (main):
Call UNTESTED() for GC_atfork_child, GC_atfork_parent,
GC_atfork_prepare, GC_set_handle_fork, GC_start_mark_threads.

tests/test.c

index 9b5f886..42803cc 100644 (file)
@@ -94,7 +94,7 @@
       || (defined(DARWIN) && defined(MPROTECT_VDB) \
           && !defined(NO_INCREMENTAL) && !defined(MAKE_BACK_GRAPH))) \
      && !defined(NO_TEST_HANDLE_FORK) && !defined(TEST_HANDLE_FORK) \
-     && !defined(TEST_FORK_WITHOUT_ATFORK) && !defined(CPPCHECK)
+     && !defined(TEST_FORK_WITHOUT_ATFORK)
 #   define NO_TEST_HANDLE_FORK
 # endif
 
@@ -2209,7 +2209,7 @@ int main(void)
     check_heap_stats();
     (void)fflush(stdout);
     (void)pthread_attr_destroy(&attr);
-#   if defined(CPPCHECK) && defined(GC_PTHREADS)
+#   if defined(CPPCHECK)
       UNTESTED(GC_pthread_detach);
       UNTESTED(GC_set_suspend_signal);
       UNTESTED(GC_set_thr_restart_signal);
@@ -2225,7 +2225,14 @@ int main(void)
 #     ifndef GC_NO_PTHREAD_SIGMASK
         UNTESTED(GC_pthread_sigmask);
 #     endif
-#   endif /* CPPCHECK && GC_PTHREADS */
+#     ifdef NO_TEST_HANDLE_FORK
+        UNTESTED(GC_atfork_child);
+        UNTESTED(GC_atfork_parent);
+        UNTESTED(GC_atfork_prepare);
+        UNTESTED(GC_set_handle_fork);
+        UNTESTED(GC_start_mark_threads);
+#     endif
+#   endif /* CPPCHECK */
 #   ifdef PTW32_STATIC_LIB
         pthread_win32_thread_detach_np ();
         pthread_win32_process_detach_np ();