summaryrefslogtreecommitdiff
path: root/cord
Commit message (Collapse)AuthorAgeFilesLines
* Adjust naming of Win32/64 and x86/64 words in comments and documentationIvan Maidanski2022-09-262-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ChangeLog: Replace i386 and X86 to x86; replace x86_64 and amd64 to x64; replace "Win32 pthreads" to pthreads-win32; lower case win32s, x86, x64; replace win32 to Win32; replace "MS Windows" to Windows (in documentation and comments). * NT_MAKEFILE: Likewise. * README.md: Likewise. * configure.ac: Likewise. * cord/tests/de_win.c: Likewise. * doc/README.macros: Likewise. * doc/README.solaris2: Likewise. * doc/README.win32: Likewise. * doc/README.win64: Likewise. * doc/debugging.md: Likewise. * doc/leak.md: Likewise. * doc/overview.md: Likewise. * doc/porting.md: Likewise. * extra/msvc_dbg.c: Likewise. * finalize.c: Likewise. * include/gc/cord.h: Likewise. * include/gc/gc.h: Likewise. * include/private/gc_priv.h: Likewise. * include/private/gcconfig.h: Likewise. * include/private/pthread_stop_world.h: Likewise. * mach_dep.c: Likewise. * mark.c: Likewise. * mark_rts.c: Likewise. * misc.c: Likewise. * os_dep.c: Likewise. * tools/threadlibs.c: Likewise. * win32_threads.c: Likewise. * cord/tests/de.c (WIN32): Remove misleading comment. * misc.c (GC_enable_incremental): Change comment about win32s to TODO item.
* Use cast to void instead of the attribute to indicate unused argumentsIvan Maidanski2022-09-151-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (refactoring) * CMakeLists.txt [BORLAND] (add_compile_options): Remove "/w-par"; reorder options. * CMakeLists.txt [!BORLAND && MSVC] (add_compile_options): Remove "/wd4100"; update comment. * NT_MAKEFILE (.c.obj): Likewise. * allchblk.c [!NO_DEBUGGING || GC_ASSERTIONS] (add_hb_sz): Use UNUSED_ARG() instead of GC_ATTR_UNUSED. * allchblk.c [USE_MUNMAP] (GC_adjust_num_unmapped): Likewise. * backgraph.c [MAKE_BACK_GRAPH] (pop_in_progress, reset_back_edge, update_max_height): Likewise. * checksums.c [CHECKSUMS] (GC_add_block): Likewise. * darwin_stop_world.c (GC_stack_range_for): Likewise. * dbg_mlc.c (GC_store_debug_info_inner, GC_debug_change_stubborn, GC_check_heap_block): Likewise. * finalize.c [!GC_NO_FINALIZATION] (GC_null_finalize_mark_proc): Likewise. * gcj_mlc.c [GC_GCJ_SUPPORT] (GC_gcj_fake_mark_proc): Likewise. * mallocx.c [!CPPCHECK] (GC_change_stubborn): Likewise. * mark.c (GC_noop6, clear_marks_for_block): Likewise. * mark.c [WRAP_MARK_SOME && (MSWIN32 || MSWINCE) && __GNUC__] (mark_ex_handler): Likewise. * mark.c [GC_DISABLE_INCREMENTAL] (GC_push_conditional): Likewise. * mark_rts.c (GC_push_current_stack, GC_push_roots): Likewise. * misc.c (GC_default_oom_fn, GC_set_handle_fork): Likewise. * misc.c [THREADS && !SIGNAL_BASED_STOP_WORLD] (GC_set_suspend_signal, GC_set_thr_restart_signal): Likewise. * misc.c [THREADS && UNIX_LIKE && !NO_GETCONTEXT] (callee_saves_pushed_dummy_fn): Likewise. * misc.c [!THREADS] (GC_do_blocking_inner): Likewise. * misc.c [!PARALLEL_MARK] (GC_set_markers_count): Likewise. * os_dep.c [OPENBSD] (GC_fault_handler_openbsd): Likewise. * os_dep.c [NEED_FIND_LIMIT || WRAP_MARK_SOME && !MSWIN32 && !MSWINCE || USE_PROC_FOR_LIBRARIES && THREADS] (GC_fault_handler): Likewise. * os_dep.c [!HAVE_GET_STACK_BASE && !NEED_FIND_LIMIT] (GC_get_stack_base): Likewise. * os_dep.c [MPROTECT_VDB && DARWIN] (catch_exception_raise_state, catch_exception_raise_state_identity, catch_exception_raise): Likewise. * pthread_stop_world.c [!NACL && !GC_OPENBSD_UTHREADS && !SUSPEND_HANDLER_NO_CONTEXT] (GC_suspend_sigaction): Likewise. * pthread_stop_world.c [!NACL && !GC_OPENBSD_UTHREADS] (GC_suspend_handler_inner): Likewise. * pthread_support.c (GC_do_blocking_inner): Likewise. * pthread_support.c [GC_ENABLE_SUSPEND_THREAD && SIGNAL_BASED_STOP_WORLD] (GC_suspend_self_blocked): Likewise. * tests/gctest.c [!DBG_HDRS_ALL] (fail_proc1): Likewise. * tests/gctest.c [(MSWIN32 && !__MINGW32__ || MSWINCE) && !NO_WINMAIN_ENTRY] (WinMain): Likewise. * tests/gctest.c [!PCR && !GC_WIN32_THREADS && !GC_PTHREADS && CPPCHECK && RTEMS] (Init): Likewise. * tests/gctest.c [GC_WIN32_THREADS && !GC_PTHREADS] (thr_run_one_test): Likewise. * tests/gctest.c [MSWINCE] (thr_window): Likewise. * tests/gctest.c [GC_PTHREADS] (thr_run_one_test): Likewise. * typd_mlc.c (GC_array_mark_proc): Likewise. * win32_threads.c (GC_register_altstack, GC_do_blocking_inner): Likewise. * win32_threads.c [!GC_PTHREADS && !GC_NO_THREADS_DISCOVERY] (GC_DllMain): Likewise. * cord/cordxtra.c (CORD_ATTR_UNUSED): Remove. * include/private/gc_priv.h [!GC_ATTR_UNUSED] (GC_ATTR_UNUSED): Likewise. * cord/cordxtra.c (CORD_nul_func): Cast unused argument to void instead of using CORD_ATTR_UNUSED. * cord/cordxtra.c [!GC_NO_FINALIZATION] (CORD_lf_close_proc): Likewise. * include/private/gc_priv.h [!UNUSED_ARG] (UNUSED_ARG): Define macro.
* Update shared objects version info to be not lower than in gc 8.2.2Ivan Maidanski2022-08-261-1/+1
| | | | | | | | | * CMakeLists.txt (LIBCORD_VER_INFO): Increment current and age (change version info of libcord.so to 6:0:5). * cord/cord.am (LIBCORD_VER_INFO): Likewise. * CMakeLists.txt (LIBGC_VER_INFO): Increment revision (change version info of libgc.so to 6:1:5). * Makefile.am (LIBGC_VER_INFO): Likewise.
* Workaround 'signed to bigger unsigned value cast' defect in CORD_vsprintfIvan Maidanski2022-05-111-1/+1
| | | | | | | | | (fix of commit d82755f6f) Issue #439 (bdwgc). * cord/cordprnt.c (CORD_vsprintf): If long_arg==2 then cast result of ec_len(result) to unsigned type first (before casting to size_t).
* Remove extra space after comma in license termsIvan Maidanski2022-05-019-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (reformatting) * CMakeLists.txt: Remove an extra space after comma in license header comment. * Makefile.am: Likewise. * allchblk.c: Likewise. * alloc.c: Likewise. * backgraph.c: Likewise. * blacklst.c: Likewise. * checksums.c: Likewise. * configure.ac: Likewise. * cord/cordbscs.c: Likewise. * cord/cordprnt.c: Likewise. * cord/cordxtra.c: Likewise. * cord/tests/cordtest.c: Likewise. * cord/tests/de.c: Likewise. * cord/tests/de_cmds.h: Likewise. * cord/tests/de_win.c: Likewise. * cord/tests/de_win.h: Likewise. * cord/tests/de_win.rc: Likewise. * darwin_stop_world.c: Likewise. * dbg_mlc.c: Likewise. * dyn_load.c: Likewise. * extra/gc.c: Likewise. * extra/msvc_dbg.c: Likewise. * extra/pcr_interface.c: Likewise. * extra/real_malloc.c: Likewise. * finalize.c: Likewise. * fnlz_mlc.c: Likewise. * gc_badalc.cc: Likewise. * gc_cpp.cc: Likewise. * gc_dlopen.c: Likewise. * gcj_mlc.c: Likewise. * headers.c: Likewise. * include/gc/cord.h: Likewise. * include/gc/cord_pos.h: Likewise. * include/gc/ec.h: Likewise. * include/gc/gc.h: Likewise. * include/gc/gc_backptr.h: Likewise. * include/gc/gc_config_macros.h: Likewise. * include/gc/gc_disclaim.h: Likewise. * include/gc/gc_gcj.h: Likewise. * include/gc/gc_inline.h: Likewise. * include/gc/gc_mark.h: Likewise. * include/gc/gc_pthread_redirects.h: Likewise. * include/gc/gc_tiny_fl.h: Likewise. * include/gc/gc_typed.h: Likewise. * include/gc/gc_version.h: Likewise. * include/gc/javaxfc.h: Likewise. * include/gc/leak_detector.h: Likewise. * include/include.am: Likewise. * include/private/darwin_semaphore.h: Likewise. * include/private/darwin_stop_world.h: Likewise. * include/private/dbg_mlc.h: Likewise. * include/private/gc_alloc_ptrs.h: Likewise. * include/private/gc_atomic_ops.h: Likewise. * include/private/gc_hdrs.h: Likewise. * include/private/gc_locks.h: Likewise. * include/private/gc_pmark.h: Likewise. * include/private/gc_priv.h: Likewise. * include/private/gcconfig.h: Likewise. * include/private/pthread_stop_world.h: Likewise. * include/private/pthread_support.h: Likewise. * include/private/specific.h: Likewise. * include/private/thread_local_alloc.h: Likewise. * m4/gc_set_version.m4: Likewise. * mach_dep.c: Likewise. * malloc.c: Likewise. * mallocx.c: Likewise. * mark.c: Likewise. * mark_rts.c: Likewise. * misc.c: Likewise. * new_hblk.c: Likewise. * obj_map.c: Likewise. * os_dep.c: Likewise. * pthread_start.c: Likewise. * pthread_stop_world.c: Likewise. * pthread_support.c: Likewise. * ptr_chck.c: Likewise. * reclaim.c: Likewise. * specific.c: Likewise. * tests/atomicops.c: Likewise. * tests/cpp.cc: Likewise. * tests/disclaim.c: Likewise. * tests/disclaim_bench.c: Likewise. * tests/gctest.c: Likewise. * tests/tests.am: Likewise. * tests/weakmap.c: Likewise. * thread_local_alloc.c: Likewise. * tools/setjmp_t.c: Likewise. * tools/threadlibs.c: Likewise. * typd_mlc.c: Likewise. * win32_threads.c: Likewise. * LICENSE: Remove an extra space after comma in license terms.
* Remove extra parentheses in return statementIvan Maidanski2022-05-016-199/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (refactoring) Also, replace 0 to NULL where appropriate. * allchblk.c (setup_header, GC_get_first_part, GC_allochblk_nth): Remove outermost parentheses in the expression of return statement. * alloc.c (GC_never_stop_func, GC_timeout_stop_func, GC_adj_bytes_allocd, GC_try_to_collect_inner, GC_collect_a_little, GC_stopped_mark, GC_try_to_collect_general, GC_expand_hp_inner, GC_collect_or_expand, GC_allocobj): Likewise. * blacklst.c (GC_is_black_listed, GC_number_stack_black_listed, total_stack_black_listed): Likewise. * checksums.c (GC_checksum): Likewise. * cord/cordbscs.c (CORD_cat_char_star, CORD_cat, CORD_len, CORD_index_access_fn, CORD_apply_access_fn, CORD_substr_checked, CORD_substr, CORD_iter5, CORD_iter, CORD_riter4, CORD_riter, CORD_concat_forest, CORD_balance, CORD__pos_fetch, CORD__prev, CORD_prev, CORD_pos_to_cord, CORD_pos_valid): Likewise. * cord/cordprnt.c (extract_conv_spec, CORD_vsprintf, CORD_sprintf, CORD_fprintf, CORD_vfprintf, CORD_printf, CORD_vprintf): Likewise. * cord/cordxtra.c (CORD_cat_char, CORD_catn, CORD_fill_proc, CORD_batched_fill_proc, CORD_cmp, CORD_ncmp, CORD_to_char_star, CORD_from_char_star, CORD_to_const_char_star, CORD_fetch, CORD_put_proc, CORD_batched_put_proc, CORD_put, CORD_chr_proc, CORD_rchr_proc, CORD_batched_chr_proc, CORD_chr, CORD_rchr, CORD_str, CORD_from_file_eager, CORD_lf_func, CORD_from_file_lazy_inner, CORD_from_file_lazy, CORD_from_file): Likewise. * cord/tests/cordtest.c (test_fn, id_cord_fn, test_basics): Likewise. * cord/tests/de.c (line_pos, add_hist, retrieve_line, beep): Likewise. * cord/tests/de_win.c (WinMain, plain_chars, control_chars, WndProc): Likewise. * dbg_mlc.c (store_debug_info, GC_debug_generic_malloc, GC_debug_generic_malloc, GC_debug_realloc, GC_make_closure): Likewise. * dyn_load.c (GC_FirstDLOpenedLinkMap): Likewise. * extra/real_malloc.c (real_malloc): Likewise. * finalize.c (GC_register_disappearing_link, GC_unregister_disappearing_link): Likewise. * gc_dlopen.c (dlopen): Likewise. * gcj_mlc.c (maybe_finalize, GC_debug_gcj_malloc, GC_gcj_malloc_ignore_off_page): Likewise. * headers.c (GC_find_header, alloc_hdr, get_index, GC_install_header, GC_next_block, GC_prev_block): Likewise. * malloc.c (GC_generic_malloc): Likewise. * mallocx.c (GC_realloc, GC_generic_malloc_ignore_off_page): Likewise. * mark.c (GC_collection_in_progress, GC_mark_some, GC_signal_mark_stack_overflow, GC_block_was_dirty, GC_push_next_marked, GC_push_next_marked_dirty, GC_push_next_marked_uncollectable): Likewise. * mark_rts.c (GC_is_static_root, rt_hash, GC_roots_present, GC_remove_tmp_roots, GC_approx_sp): Likewise. * misc.c (GC_default_oom_fn, GC_clear_stack_inner, GC_base, GC_write, GC_get_warn_proc, GC_call_with_alloc_lock): Likewise. * new_hblk.c (GC_build_fl_clear2, GC_build_fl_clear4, GC_build_fl2, GC_build_fl4, GC_build_fl): Likewise. * obj_map.c (GC_register_displacement_inner): Likewise. * os_dep.c (GC_find_limit_openbsd, GC_skip_hole_openbsd, GC_get_writable_length, GC_get_writable_length, GC_get_main_stack_base, GC_FreeBSDGetDataStart, GC_unix_mmap_get_mem, GC_unix_sbrk_get_mem, os2_alloc, GC_wince_get_mem, GC_win32_get_mem, GC_push_thread_stack, GC_push_old_obj, GC_write_fault_handler, catch_exception_raise_state, catch_exception_raise_state_identity): Likewise. * pthread_support.c (GC_new_thread, GC_lookup_thread, GC_get_nprocs, pthread_sigmask, pthread_create): Likewise. * ptr_chck.c (GC_same_obj, GC_default_is_visible_print_proc, GC_default_is_valid_displacement_print_proc, GC_is_visible, GC_pre_incr, GC_post_incr): Likewise. * reclaim.c (GC_block_empty, GC_reclaim_uninit, GC_n_set_marks, GC_reclaim_all): Likewise. * tests/cpp.cc (main): Likewise. * tests/gctest.c (fake_gcj_mark_proc, reverse1, reverse, ints, gcj_reverse1, gcj_reverse, gcj_ints, uncollectable_ints, mktree, alloc8bytes, main, test): Likewise. * tools/if_mach.c (main): Likewise. * tools/if_not_there.c (main): Likewise. * tools/setjmp_t.c (getpagesize, main, g): Likewise. * typd_mlc.c (GC_add_ext_descriptor, GC_add_ext_descriptor, GC_double_descr, GC_make_array_descriptor, GC_make_sequence_descriptor, GC_typed_mark_proc, GC_descr_obj_size, GC_push_complex_descriptor, GC_array_mark_proc, GC_make_descriptor, GC_calloc_explicitly_typed): Likewise. * win32_threads.c (GC_new_thread, GC_lookup_thread_inner, GC_get_stack_min, GC_pthread_create, GC_pthread_start_inner): Likewise. * allchblk.c (GC_get_first_part, GC_allochblk_nth): Replace 0 to NULL where appropriate. * alloc.c (GC_allocobj): Likewise. * blacklst.c (GC_is_black_listed): Likewise. * cord/cordbscs.c (CORD_from_fn_inner, CORD_substr_checked): Likewise. * cord/cordxtra.c (CORD_cat_char, CORD_to_char_star, CORD_from_char_star, CORD_lf_func, CORD_from_file_lazy_inner): Likewise. * dbg_mlc.c (store_debug_info, GC_debug_generic_malloc, GC_debug_generic_malloc): Likewise. * dyn_load.c (GC_FirstDLOpenedLinkMap): Likewise. * gcj_mlc.c (GC_debug_gcj_malloc): Likewise. * headers.c (GC_next_block, GC_prev_block): Likewise. * malloc.c (GC_generic_malloc, strdup): Likewise. * mallocx.c (GC_realloc): Likewise. * misc.c (GC_default_oom_fn, GC_base): Likewise. * os_dep.c (GC_get_main_stack_base, os2_alloc, GC_win32_get_mem): Likewise. * pthread_support.c (GC_new_thread, GC_lookup_thread): Likewise. * ptr_chck.c (GC_same_obj, GC_is_visible, GC_default_is_valid_displacement_print_proc): Likewise. * tests/gctest.c (mktree): Likewise. * typd_mlc.c (GC_make_array_descriptor, GC_push_complex_descriptor, GC_array_mark_proc, GC_calloc_explicitly_typed): Likewise. * win32_threads.c (GC_new_thread, GC_lookup_thread_inner): Likewise. * alloc.c (GC_never_stop_func, GC_timeout_stop_func): Replace 0 and 1 (in return statement) to FALSE and TRUE, respectively. * include/private/gcconfig.h: Remove outermost parentheses in the expression of return statement in comment.
* Eliminate 'deprecated conversion from string const to char*' gcc warningIvan Maidanski2022-04-251-1/+1
| | | | | | | | (fix of commit e90fce7c3) Issue #439 (bdwgc). * cord/tests/cordtest.c (zu_format): Cast literal string to char*.
* Eliminate 'ISO C++98 does not support z gnu_printf modifier' gcc warningIvan Maidanski2022-04-251-2/+8
| | | | | | | | | | | (fix of commit d82755f6f) Issue #439 (bdwgc). * cord/tests/cordtest.c (zu_format): New global variable. * cord/tests/cordtest.c (test_printf): Pass zu_format variable (instead of "%zu") to GC_SNPRINTF (and sprintf); add comment; print a message if res!=1.
* Support 'z' format modifier by CORD_vsprintfIvan Maidanski2022-04-252-5/+30
| | | | | | | | | | | | Issue #439 (bdwgc). * cord/cordprnt.c (extract_conv_spec): If current=='z' then set *long_arg to 2; update comment. * cord/cordprnt.c (CORD_vsprintf): If long_arg==2 then pass size_t to va_arg(). * tests/cordtest.c (test_printf): Declare res local variable; set res to result of sprintf("%zu"); if res==1 then test various %z format specifiers passed to CORD_sprintf().
* Fix linking of tests in case of finalization is offIvan Maidanski2022-04-222-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | (fix of commit c14335e44) * cord/cordxtra.c (CORD_lf_close_proc): Do not define if GC_NO_FINALIZATION. * cord/cordxtra.c (CORD_from_file_lazy_inner): Do not call GC_REGISTER_FINALIZER(CORD_lf_close_proc) if GC_NO_FINALIZATION. * cord/tests/cordtest.c (test_extras): Do not call GC_invoke_finalizers if GC_NO_FINALIZATION. * include/gc/gc_cpp.h (gc_cleanup::~gc_cleanup, gc_cleanup::gc_cleanup): Do not call GC_base() and GC_register_finalizer_ignore_self() if GC_NO_FINALIZATION. * include/gc/gc_cpp.h (operator new): Do not call GC_REGISTER_FINALIZER_IGNORE_SELF() if GC_NO_FINALIZATION. * tests/cpp.cc [FINALIZE_ON_DEMAND] (main): Do not call GC_invoke_finalizers() if GC_NO_FINALIZATION. * tests/disclaim_bench.c (testobj_new): Do not call GC_NEW() followed by GC_REGISTER_FINALIZER_NO_ORDER() if GC_NO_FINALIZATION. * tests/disclaim_bench.c [GC_NO_FINALIZATION] (main): Set model_min variable to 1 (instead of 0). * tests/gctest.c [GC_NO_FINALIZATION && !NO_TYPED_TEST] (NO_TYPED_TEST): Define macro.
* Fix typo in comment near extract_conv_spec in cordprnt.cIvan Maidanski2022-04-191-1/+1
| | | | * cord/cordprnt.c (NONE): Fix a typo in comment ("non-numeric").
* Adjust indentation in C preprocessor directivesIvan Maidanski2022-04-182-53/+53
| | | | | | | | | | | | | | | | | | | | | | | (reformatting) * cord/tests/de.c: Adjust indentation in directives. * cord/tests/de_win.c: Likewise. * dbg_mlc.c: Likewise. * dyn_load.c: Likewise. * extra/AmigaOS.c: Likewise. * include/gc/ec.h: Likewise. * include/gc/gc_tiny_fl.h: Likewise. * include/private/gc_locks.h: Likewise. * include/private/gc_priv.h: Likewise. * include/private/gcconfig.h: Likewise. * include/private/thread_local_alloc.h: Likewise. * malloc.c: Likewise. * mark.c: Likewise. * os_dep.c: Likewise. * ptr_chck.c: Likewise. * reclaim.c: Likewise. * tests/gctest.c: Likewise. * tools/threadlibs.c: Likewise.
* Eliminate stringop-overflow gcc-12 warning in CORD__nextIvan Maidanski2022-02-071-7/+7
| | | | | | * cord/cordbscs.c (CORD__next): Reduce limit and i values by cur_pos; add cur_pos to i when fn() is called; add cur_pos to limit in cur_end assignment.
* Move public header files to include/gc in source treeIvan Maidanski2021-11-257-14/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also, include/extra public header files (for the redirection) are moved to include directory. This is have the same directories structure of public headers in the source tree as that of the installed "include" directory. * doc/finalization.md: Remove "include/" prefix for cord.h. * LICENSE: Rename include/gc_allocator.h to gc/gc_allocator.h. * Makefile.direct (CORD_SRCS, CORD_INCLUDE_FILES): Add "gc/" prefix for cord.h, ec.h, cord_pos.h. * CMakeLists.txt [install_headers]: Likewise. * cord/cord.am (pkginclude_HEADERS): Likewise. * Makefile.direct (SRCS, tests/test.o, dyn_load.o, dyn_load_sunos53.o, mark.o, typd_mlc.o, finalize.o, ptr_chck.o, specific.o, alloc.o, pthread_support.o, thread_local_alloc.o, win32_threads.o): Add "gc/" prefix for gc_typed.h, gc_tiny_fl.h, gc_version.h, gc_inline.h, gc_mark.h, gc_disclaim.h, gc_allocator.h, javaxfc.h, gc_backptr.h, gc_gcj.h, leak_detector.h, gc_pthread_redirects.h, gc_config_macros.h. * NT_MAKEFILE (test.obj): Add gc\ prefix for gc_mark.h, gc_disclaim.h. * NT_MAKEFILE (cord\tests\de.obj, cord\tests\de_win.obj): Add gc\ prefix for cord.h, cord_pos.h. * OS2_MAKEFILE (cord\cordbscs.obj, cord\cordxtra.obj, cord\cordprnt.obj, cordtest.exe): Likewise. * cord/cordbscs.c: Add "gc/" prefix in include for cord.h, ec.h; reorder includes. * cord/cordprnt.c: Likewise. * cord/cordxtra.c: Likewise. * cord/tests/cordtest.c: Likewise. * cord/tests/de.c: Likewise. * cord/tests/de_win.c: Likewise. * extra/gc.c: Add "gc/" prefix in include for gc_inline.h, gc_pthread_redirects.h, javaxfc.h, gc_disclaim.h, gc_gcj.h, gc_backptr.h, gc_mark.h, gc_tiny_fl.h, leak_detector.h., gc_typed.h. * finalize.c: Likewise. * fnlz_mlc.c: Likewise. * gcj_mlc.c: Likewise. * include/private/dbg_mlc.h: Likewise. * include/private/gc_pmark.h: Likewise. * include/private/gc_priv.h: Likewise. * include/private/thread_local_alloc.h: Likewise. * malloc.c: Likewise. * mallocx.c: Likewise. * pthread_stop_world.c: Likewise. * pthread_support.c: Likewise. * reclaim.c: Likewise. * tests/disclaim_bench.c: Likewise. * tests/disclaim_test.c: Likewise. * tests/disclaim_weakmap_test.c: Likewise. * tests/leak_test.c: Likewise. * tests/staticrootstest.c: Likewise. * tests/test.c: Likewise. * tests/thread_leak_test.c: Likewise. * tests/trace_test.c: Likewise. * thread_local_alloc.c: Likewise. * typd_mlc.c: Likewise. * tests/test_cpp.cc: Add "gc/" prefix in include for gc_allocator.h. * include/extra/gc.h: Move to include folder; replace include<> to include "". * include/extra/gc_cpp.h: Likewise. * include/cord.h: Move to include/gc folder. * include/cord_pos.h: Likewise. * include/ec.h: Likewise. * include/gc.h: Likewise. * include/gc_allocator.h: Likewise. * include/gc_backptr.h: Likewise. * include/gc_config_macros.h: Likewise. * include/gc_cpp.h: Likewise. * include/gc_disclaim.h: Likewise. * include/gc_gcj.h: Likewise. * include/gc_inline.h: Likewise. * include/gc_mark.h: Likewise. * include/gc_pthread_redirects.h: Likewise. * include/gc_tiny_fl.h: Likewise. * include/gc_typed.h: Likewise. * include/gc_version.h: Likewise. * include/javaxfc.h: Likewise. * include/leak_detector.h: Likewise. * include/include.am (pkginclude_HEADERS): Add "gc/" prefix for gc.h, gc_backptr.h, gc_config_macros.h, gc_inline.h, gc_mark.h, gc_tiny_fl.h, gc_typed.h, gc_version.h, javaxfc.h, leak_detector.h, gc_disclaim.h, gc_gcj.h, gc_pthread_redirects.h, gc_allocator.h, gc_cpp.h. * CMakeLists.txt [install_headers]: Likewise. * include/include.am (include_HEADERS): Remove "extra/" prefix for gc_cpp.h, gc.h. * CMakeLists.txt [install_headers]: Likewise.
* Fix ./libgc.la dependency on FreeBSD (Automake)Peter Wang2021-07-211-1/+1
| | | | | | | | | | | | | | | Issue #361 (bdwgc). For some reason, BSD make do not use the Makefile rule to satisfy a dependency on ./libgc.la. Note: this change should not break builds on other targets (e.g. based on GNU make) as $top_builddir should be expanded to ".". * Makefile.am [CPLUSPLUS] (libgccpp_la_LIBADD): Remove "./" prefix. * Makefile.am [CPLUSPLUS && GC_TBA_LIBRARY] (libgctba_la_LIBADD): Likewise. * cord/cord.am (libcord_la_LIBADD): Remove "$(top_builddir)/" prefix.
* Fix copyright message in de_win.rc and gc_cpp.ccIvan Maidanski2020-09-031-2/+5
| | | | | | | | | | Issue #331 (bdwgc). The copyright message in these 2 files was different from the BDWGC default one (e.g. see that in malloc.c) by a mistake. * cord/tests/de_win.rc: Alter copyright to match that of de_win.c. * gc_cpp.cc: Alter copyright to match that of gc_cpp.h.
* Reformat copyright comment in test_cpp.ccIvan Maidanski2020-09-031-0/+1
| | | | | | | * cord/cordprnt.c: Add blank line after copyright. * tests/test_cpp.cc: Reformat copyright comment (not changing the text of the comment) to match that of other .c and .cc files; move the test usage guideline to a standalone comment.
* Workaround 'condition is redundant or null deref is possible' cppcheck FPIvan Maidanski2019-10-042-4/+19
| | | | | | | | | | | | * cord/cordprnt.c (MACRO_BLKSTMT_BEGIN, MACRO_BLKSTMT_END): New macro. * cord/tests/de.c (MACRO_BLKSTMT_BEGIN, MACRO_BLKSTMT_END): Likewise. * include/private/gc_priv.h (MACRO_BLKSTMT_BEGIN, MACRO_BLKSTMT_END): Likewise. * cord/cordprnt.c (OUT_OF_MEMORY): Use MACRO_BLKSTMT_BEGIN/END instead of "do {" and "} while (0)". * cord/tests/de.c (OUT_OF_MEMORY): Likewise. * include/private/gc_priv.h (ABORT_ARG1, ABORT_ARG2, ABORT_ARG3): Likewise.
* Eliminate 'conversion from size_t to int' MSVC warning in cordprnt.cIvan Maidanski2019-08-211-1/+1
| | | | * cord/cordprnt.c (ec_len): Cast the expression to int explicitly.
* Eliminate 'conversion from int to void*' MS VC warning in cordtest (x64)Ivan Maidanski2019-07-261-4/+7
| | | | | * cord/tests/cordtest.c (test_fn, test_basics): Cast 13 to void* thru GC_word type.
* Fix a typo in control_chars() comment in de_win.cIvan Maidanski2019-07-171-1/+1
| | | | * cord/tests/de_win.c (control_chars): Replace "32" to "64" in comment.
* Eliminate 'conversion may lose significant digits' BCC warning in de_winIvan Maidanski2019-07-171-1/+1
| | | | * cord/tests/de_win.c (control_chars): Cast text[i]+0x40 to char.
* Eliminate 'comparing signed and unsigned values' BCC warning in cordtestIvan Maidanski2019-07-171-1/+1
| | | | * cord/tests/cordtest.c (test_basics): Cast (unsigned char)c to size_t.
* Eliminate 'possible loss of data' compiler warning in cordprnt (MS VC)Ivan Maidanski2019-07-071-1/+1
| | | | | * cordprnt.c (CORD_vsprintf): Cast result of ec_len() to short if long_arg<0.
* Move test executable files produced by CMake to the base folderIvan Maidanski2019-06-151-30/+0
| | | | | | | | | | | | | | | | | | | | | | | Issue #281 (bdwgc). This is done by moving the content of cord/CMakeLists.txt and tests/CMakeLists.txt files to the base CMakeLists.txt. * CMakeLists.txt [build_tests && build_cord]: Move content from cord/CMakeLists.txt. * CMakeLists.txt [build_tests && build_cord] (cordtest, de): Add "cord/" to .c files in add_executable. * CMakeLists.txt [build_tests]: Move content from tests/CMakeLists.txt. * CMakeLists.txt [build_tests] (gctest, hugetest, leaktest, middletest, realloc_test, smashtest, tracetest, test_cpp, disclaim_bench, disclaim_test, disclaim_weakmap_test, disclaim_weakmap_test): Add "tests/" to .c and .cc files in add_executable. * Makefile.am (EXTRA_DIST): Remove cord/CMakeLists.txt, tests/CMakeLists.txt. * doc/README.cmake: Update info about CMakeLists.txt files (there is just one file now). * cord/CMakeLists.txt: Remove file. * tests/CMakeLists.txt: Likewise.
* Rename libgc-lib.a to libgc.a in CMake scriptVictor Romero2019-06-151-3/+2
| | | | | | | | | | | | | | | | Issue #281 (bdwgc). Also specify that libgc.a is used privately in test executables. * CMakeLists.txt (gc-lib): Rename library to gc in add_library and set_target_properties. * cord/CMakeLists.txt [build_tests] (cordtest, de): Rename gc-lib to gc and add PRIVATE in target_link_libraries. * tests/CMakeLists.txt (gctest, hugetest, leaktest, middletest, realloc_test, smashtest): Likewise. * tests/CMakeLists.txt [enable_gc_debug] (tracetest): Likewise. * tests/CMakeLists.txt [enable_disclaim] (disclaim_bench, disclaim_test, disclaim_weakmap_test): Likewise.
* Do not build the tests by default (CMake)Victor Romero2019-06-061-12/+14
| | | | | | | | | | | | Issue #281 (bdwgc). build_cord and build_tests options are introduced in the CMake script. * CMakeLists.txt (build_cord): Add option (on by default); add comment. * CMakeLists.txt (build_tests): Add option (off by default). * CMakeLists.txt (cord): Specify add_subdirectory only if build_cord. * CMakeLists.txt (tests): Specify add_subdirectory only if build_tests. * cord/CMakeLists.txt: Skip cordtest and de tests unless build_tests.
* Add cordtest to CMake script and rename cord/cord executable to cord/deIvan Maidanski2019-06-061-5/+13
| | | | | | | | Issue #281 (bdwgc). * cord/CMakeLists.txt (cordtest): Specify add_executable, set_target_properties, target_link_libraries and add_test. * cord/CMakeLists.txt [WIN32] (cord): Rename executable to de.
* Move CMake cord specification and cord executable to cord folderIvan Maidanski2019-06-051-0/+21
| | | | | | | | | | Issue #281 (bdwgc). * CMakeLists.txt [WIN32]: Move add_executable, set_target_properties, target_link_libraries for cord to cord/CMakeLists.txt. * CMakeLists.txt (cord): Specify add_subdirectory. * Makefile.am (EXTRA_DIST): Add cord/CMakeLists.txt. * cord/CMakeLists.txt: New file.
* Fix 'duplicate symbol' error for tests using multiple static libs (OS X)Ivan Maidanski2019-02-271-1/+7
| | | | | | | | | | | | | | | | | | | | Issue #263 (bdwgc). If configured with --enable-static, libtool passes libgc.a to gcc twice (with a relative path and with an absolute one) when linking tests that depend on libcord.a, libgccpp.a or libstaticrootslib_test.a which, in turn, depends on libgc.a. Double specification of libgc.a seems to confuse ld tool of MacOS 10.14. The workaround is to omit libgc.la in *_LDADD specification of the mentioned tests when the shared libraries are not requested, at least. * configure.ac (ENABLE_SHARED): New AM_CONDITIONAL. * cord/cord.am (cordtest_LDADD): Do not add libgc.la unless ENABLE_SHARED; add comment. * tests/tests.am (staticrootstest_LDADD): Likewise. * tests/tests.am [CPLUSPLUS && !AVOID_CPP_LIB] (test_cpp_LDADD): Likewise.
* Replace "msecs" with "ms" in all comments and messagesIvan Maidanski2019-01-061-1/+1
| | | | | | | | | | | | | | | | | | * README.md (Bugs): Replace "msecs" with "ms". * doc/README.environment (GC_PAUSE_TIME_TARGET): Likewise. * doc/gcdescr.md (Generational Collection and Dirty Bits): Likewise. * alloc.c [!NO_CLOCK] (full_gc_total_time): Replace "msecs" with "ms" in comment. * cord/tests/de.c [WIN32] (beep): Likewise. * pthread_support.c [USE_SPIN_LOCK] (GC_lock): Likewise. * alloc.c [!GC_DISABLE_INCREMENTAL && !NO_CLOCK] (GC_timeout_stop_func): Replace "msecs" with "ms" in the printed string. * alloc.c [!NO_CLOCK] (GC_try_to_collect_inner, GC_stopped_mark, GC_finish_collection): Likewise. * misc.c [!NO_CLOCK] (GC_dump_named): Likewise. * reclaim.c [!NO_CLOCK] (GC_reclaim_all): Likewise. * tests/test.c [!NO_CLOCK] (check_heap_stats): Likewise.
* Support de_win.c compilation by Makefile.direct (cord/de)Ivan Maidanski2018-12-271-0/+10
| | | | | | | | * Makefile.direct (cord/de): Add dependency on de_win.c and de_win.h; compile cord/tests/de_win.c (in case of if_not_there case). * cord/tests/de_win.c [!__BORLANDC__ && !__CYGWIN__ && !__MINGW32__ && !__NT__ && !_WIN32 && !WIN32]: Skip the whole file (compile "extern int GC_quiet" instead).
* Turn off leak detection mode explicitly in cord/deIvan Maidanski2018-11-232-0/+2
| | | | | | * cord/tests/de.c [!WIN32] (main): Call GC_set_find_leak(0) before GC_INIT() to disable leak detection mode. * cord/tests/de_win.c [WIN32] (WinMain): Likewise.
* Print relevant message in tests not appropriate for leak detection modeIvan Maidanski2018-11-231-0/+2
| | | | | | | | | | | | | | | | * cord/tests/cordtest.c (main): If GC_get_find_leak() then print a message that the test is not designed for leak detection mode (i.e., plenty of leaks could be reported). * tests/disclaim_bench.c (main): Likewise. * tests/disclaim_test.c (main): Likewise. * tests/disclaim_weakmap_test.c (main): Likewise. * tests/initsecondarythread.c (main): Likewise. * tests/middle.c (main): Likewise. * tests/realloc_test.c (main): Likewise. * tests/staticrootstest.c (main): Likewise. * tests/test_cpp.cc (main): Likewise. * tests/threadkey_test.c (main): Likewise. * tests/trace_test.c (main): Likewise.
* Guard against potential buffer overflow in CORD_next and CORD_pos_fetchIvan Maidanski2018-11-121-7/+18
| | | | | | * cord/cordbscs.c (CORD__pos_fetch, CORD__next): Call ABORT() if CORD_pos_valid() returns false for the argument (do not compute pe in this case).
* Workaround 'potential non-terminated string' false positive in cordbscsIvan Maidanski2018-11-121-1/+7
| | | | | * cordbscs.c [LINT2] (CORD_cat_char_star): Pass lenx+1 to memcpy() instead of lenx; add comment.
* Eliminate 'casting signed to bigger unsigned int' CSA warningIvan Maidanski2018-11-122-11/+12
| | | | | | | | | | | | | | | | | | * cord/cordprnt.c (CORD_vsprintf): Cast prec, width, max_size, res local variables to unsigned. * cord/tests/cordtest.c (test_basics): Change type of i local variable from int to size_t; cast c local variable to unsigned char. * dbg_mlc.c (GC_store_debug_info_inner): Do not cast linenum parameter. * include/private/dbg_mlc.h (oh.oh_string, oh.oh_int): Refine comment. * include/private/dbg_mlc.h (oh.oh_int): Change type from word to signed_word. * misc.c [!GC_GET_HEAP_USAGE_NOT_NEEDED] (fill_prof_stats): Cast GC_markers_m1 to signed_word first. * misc.c (GC_init): Cast space_divisor local variable to unsigned (instead of word). * misc.c [!MSWIN32 && !MSWINCE && !OS2 && !MACOS && !GC_ANDROID_LOG] (GC_write): Cast bytes_written local variable to unsigned (instead of size_t).
* Fix GC_VSNPRINTF in cordprnt for DJGPP and MS VC for WinCEIvan Maidanski2018-09-071-2/+2
| | | | | | | | | | (fix of commit c10a1d900) GC-internal DJGPP and MSWINCE macros are not available in cord. * cord/cordprnt.c (GC_VSNPRINTF): Test __DJGPP__ instead of DJGPP macro. * cord/cordprnt.c [_MSC_VER] (GC_VSNPRINTF): Test _WIN32_WCE instead of MSWINCE macro.
* Fix missing curses.h in cord/de when compiling manually (MS VC, MinGW)Ivan Maidanski2018-09-071-1/+2
| | | | * cord/tests/de.c [__MINGW32__ || __NT__ || _WIN32] (WIN32): Define.
* Eliminate 'different const qualifiers' MS VC warnings in cordbscsIvan Maidanski2018-09-061-2/+2
| | | | | | | (fix of commit 2e7daad62) * cord/cordbscs.c (CORD_cat_char_star, CORD_cat): Cast the first argument of GC_PTR_STORE_AND_DIRTY() to void*.
* [8.0.0]v8.0.0Ivan Maidanski2018-09-051-1/+1
| | | | | | | | | | | | | | | | | | Bump gc version to 8.0.0 (experimental release) * ChangeLog (8.0.0): Set release date. * Makefile.am (LIBGC_VER_INFO): Increment revision (change version info of libgc.so to 5:1:4). * Makefile.am (LIBGCCPP_VER_INFO): Increment current and age (change version info of libgccpp.so to 5:0:4). * README.md: Bump major version (set minor and micro to 0). * configure.ac (AC_INIT): Likewise. * include/gc_version.h (GC_TMP_VERSION_MAJOR, GC_TMP_VERSION_MINOR, GC_TMP_VERSION_MICRO): Likewise. * README.md: Remove build status badges (Travis, AppVeyor, Codecov, Coveralls, Coverity, LGTM). * cord/cord.am (LIBCORD_VER_INFO): Increment current and age (change version info of libcord.so to 5:0:4).
* Fix comment typos in backgraph.c, de.c, gcconfig.hMax Mouratov2018-09-041-1/+1
| | | | | | | * ChangeLog (5.0alpha6): Fix typo ("DATASTART"). * include/private/gcconfig.h: Likewise. * backgraph.c: Fix typo in comment ("If"). * cord/tests/de.c: Fix typo in comment ("Unbounded").
* New public API (PTR_STORE_AND_DIRTY) to simplify store-and-dirty operationIvan Maidanski2018-07-012-21/+7
| | | | | | | | | | | | | | | | | | | | | | | | | * cord/cordbscs.c (CORD_cat_char_star, CORD_cat, CORD_from_fn_inner, CORD_substr_closure): Replace the last store to the heap-allocated object, GC_END_STUBBORN_CHANGE() and GC_reachable_here() with GC_PTR_STORE_AND_DIRTY() call. * cord/tests/de.c (prune_map, add_map, replace_line): Likewise. * include/gc_inline.h (GC_CONS): Likewise. * tests/disclaim_test.c (pair_dct, pair_new): Likewise. * tests/test.c [!VERY_SMALL_CONFIG] (cons): Likewise. * tests/test.c (small_cons, small_cons_uncollectable, reverse_test_inner, mktree): Likewise. * tests/test.c [GC_GCJ_SUPPORT] (gcj_cons): Likewise. * tests/test.c [GC_PTHREADS && !SMALL_CONFIG && !GC_DEBUG] (alloc8bytes): Likewise. * tests/test.c [!NO_TYPED_TEST] (typed_test): Likewise. * tests/test_cpp.cc (main): Likewise. * dbg_mlc.c (GC_debug_ptr_store_and_dirty): Implement. * mallocx.c (GC_ptr_store_and_dirty): Likewise. * include/gc.h (GC_PTR_STORE_AND_DIRTY): New public macro. * include/gc.h (GC_debug_ptr_store_and_dirty, GC_ptr_store_and_dirty): Declare new public API function; add comment. * tests/test.c (reverse_test_inner): Remove tmp local variable. * tests/test.c (mktree): Remove right_left local variable.
* Add GC_reachable_here after GC_END_STUBBORN_CHANGE in cordsIvan Maidanski2018-06-213-13/+26
| | | | | | | | | | | | | | | | | | | | | | | (fix of commit e12e820f3) * cord/cordbscs.c (CORD_cat_char_star, CORD_cat, CORD_from_fn_inner, CORD_substr_closure): Call GC_END_STUBBORN_CHANGE() instead of GC_end_stubborn_change(). * cord/cordxtra.c (refill_cache): Likewise. * cord/tests/de.c (prune_map, add_map, add_hist, replace_line, generic_init): Likewise. * cord/cordbscs.c (CORD_cat_char_star, CORD_cat): Mark x and y as reachable after GC_END_STUBBORN_CHANGE(result). * cord/cordbscs.c (CORD_from_fn_inner): Mark client_data as reachable after GC_END_STUBBORN_CHANGE(result). * cord/cordbscs.c (CORD_substr_closure): Mark x as reachable after GC_END_STUBBORN_CHANGE(sa). * cord/tests/de.c (prune_map): Mark saved map->previous->previous as reachable after GC_END_STUBBORN_CHANGE(map). * cord/tests/de.c (add_map): Mark saved current_map as reachable after GC_END_STUBBORN_CHANGE(new_map). * cord/tests/de.c (replace_line): Mark s as reachable after GC_END_STUBBORN_CHANGE(screen+i).
* Consistently define WIN32_LEAN_AND_MEAN/NOSERVICE before include windows.hIvan Maidanski2018-06-202-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | (code refactoring) Note: these macros are not (and should not be) defined in the public headers (gc.h). * cord/tests/de.c [WIN32] (WIN32_LEAN_AND_MEAN, NOSERVICE): Define macro before include windows.h. * cord/tests/de_win.c (WIN32_LEAN_AND_MEAN, NOSERVICE): Likewise. * extra/msvc_dbg.c (WIN32_LEAN_AND_MEAN, NOSERVICE): Likewise. * tests/initsecondarythread.c [!GC_PTHREADS] (WIN32_LEAN_AND_MEAN, NOSERVICE): Likewise. * tests/subthread_create.c [!GC_PTHREADS] (WIN32_LEAN_AND_MEAN, NOSERVICE): Likewise. * tests/test.c [MSWIN32 || MSWINCE] (WIN32_LEAN_AND_MEAN, NOSERVICE): Likewise. * tests/test_cpp.cc [MSWIN32] (WIN32_LEAN_AND_MEAN, NOSERVICE): Likewise. * tests/thread_leak_test.c [!GC_PTHREADS] (WIN32_LEAN_AND_MEAN, NOSERVICE): Likewise. * tools/setjmp_t.c [MSWIN32 || MSWINCE || CYGWIN32] (WIN32_LEAN_AND_MEAN, NOSERVICE): Likewise. * cord/tests/de_win.c: Replace include "windows.h" to include <windows.h>.
* Eliminate 'declaration of var hides global declaration' compiler warningIvan Maidanski2018-06-192-23/+23
| | | | | | | | * cord/tests/de.c (add_map): Rename line argument to line_arg. * cord/tests/de_win.c (get_line_rect): Likewise. * cord/tests/de_win.c (WndProc): Rename hwnd argument to hwnd_arg. * cord/tests/de_win.c (invalidate_line): Rename line local variable to line_r.
* Eliminate 'cast between incompatible function types' compiler warningIvan Maidanski2018-06-041-7/+6
| | | | | | | | | | | | | * cord/cordxtra.c (refill_cache): Add GC_CALLBACK; change return type from char to void*; change argument type from refill_data* to void*; add necessary casts to client_data and the return expression. * cord/cordxtra.c (CORD_lf_func): Do not cast refill_cache. * os_dep.c [MPROTECT_VDB] (GC_write_fault_handler, GC_mprotect_dirty_init): Cast SIG_DFL, SIG_IGN and oldact.sa_handler to SIG_HNDLR_PTR via signed_word type. * os_dep.c [MPROTECT_VDB && !MSWIN32 && !MSWINCE] (GC_write_fault_handler): Cast old_handler to PLAIN_HNDLR_PTR via signed_word type.
* Eliminate 'possibly incorrect assignment in CORD_vsprintf' compiler warningIvan Maidanski2018-05-291-2/+2
| | | | | * cord/cordprnt.c (CORD_vsprintf): Replace while((c=expr)) with while((c=expr)!=0).
* Fix cords for MANUAL_VDBIvan Maidanski2018-05-233-1/+15
| | | | | | | | * cord/cordbscs.c (CORD_cat_char_star, CORD CORD_cat, CORD_from_fn_inner, CORD_substr_closure): Call GC_end_stubborn_change. * cord/cordxtra.c (refill_cache): Likewise. * cord/tests/de.c (prune_map, add_map, add_hist, replace_line, generic_init): Likewise.
* Turn on incremental mode in cordtest cord/de and staticroots testIvan Maidanski2018-05-233-0/+9
| | | | | | | | * cord/tests/cordtest.c [!NO_INCREMENTAL] (main): Call GC_enable_incremental() after GC_INIT. * cord/tests/de.c [!NO_INCREMENTAL] (main): Likewise. * cord/tests/de_win.c [!NO_INCREMENTAL] (WinMain): Likewise. * tests/staticrootslib.c [!NO_INCREMENTAL] (main): Likewise.