summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* DRAFT 490 - test gcc-11 config.logdraft-travisIvan Maidanski2021-12-282-846/+5
|
* Travis CI: Test clang-12 with -flto (with shared libraries only)Ivan Maidanski2021-12-281-1/+1
|
* Travis CI: Fix clang++-12 and g++-11 buildsIvan Maidanski2021-12-281-8/+22
|
* Declare cleared_p as volatile in realloc for any GCC versionIvan Maidanski2021-12-271-1/+1
| | | | | | | | | (fix of commit eca62c130) Issue #406 (bdwgc). * mallocx.c [_FORTIFY_SOURCE && !__clang__] (GC_realloc): Declare cleared_p variable as volatile for any GCC version.
* Eliminate 'writing into region of size 0' gcc FP warning in reallocIvan Maidanski2021-12-271-5/+7
| | | | | | | | | | | | Issue #406 (bdwgc). * mallocx.c [_FORTIFY_SOURCE && GC_GNUC_PREREQ(9,0) && !__clang__] (GC_realloc): Declare cleared_p local variable as volatile; move and update comment. * mallocx.c (GC_realloc): Declare cleared_p local variable at the top level; * mallocx.c [!IGNORE_FREE] (GC_realloc): Pass cleared_p to GC_free() unless lb is 0.
* Eliminate 'value exceeds maximum object size' gcc warning in debug_mallocIvan Maidanski2021-12-271-1/+7
| | | | | | | | Issue #406 (bdwgc). * dbg_mlc.c [_FORTIFY_SOURCE && !__clang__] (GC_debug_malloc): Expand SIZET_SAT_ADD() manually changing it to return GC_SIZE_MAX>>1 in case of addition overflow; add comment.
* Eliminate 'buffer overflow detected' FP error in realloc_testIvan Maidanski2021-12-271-1/+5
| | | | | | | Issue #406 (bdwgc). * mallocx.c (GC_realloc): Pass p to BZERO() thru an intermediate variable of word type; add comment.
* Eliminate code defect about incorrect size of allocated object (leaktest)Ivan Maidanski2021-12-261-3/+3
| | | | | * tests/leak_test.c (main): Change type p local variable from int** to char** one.
* Fix oldProc initialization in gc_cleanup and eliminate related warningsIvan Maidanski2021-12-262-7/+7
| | | | | | | | | | | | | | Issue #406 (bdwgc). GC_register_finalizer and similar functions do not guarantee to set *ofn an *ocd values, thus the client should do it. * dbg_mlc.c [!GC_NO_FINALIZATION] (GC_debug_register_finalizer_no_order, GC_debug_register_finalizer, GC_debug_register_finalizer_unreachable, GC_debug_register_finalizer_ignore_self): Initialize my_old_cd to 0; add comment. * include/gc/gc_cpp.h (gc_cleanup::gc_cleanup): Initialize oldProc and oldData to 0; add comment.
* Eliminate 'value exceeds maximum object size' gcc warnings in huge_testIvan Maidanski2021-12-261-4/+7
| | | | | | | Issue #406 (bdwgc). * huge_test.c [_FORTIFY_SOURCE] (main): Do not call GC_MALLOC() with size argument bigger than GC_SWORD_MAX; add comment.
* Fix typo in comment and better document register_finalizer_innerIvan Maidanski2021-12-261-2/+5
| | | | | * finalize.c (GC_register_finalizer_inner): Document the case when GC_find_leak is true; fix a typo ("remain") in comment.
* Travis CI: Test with -O3 -flto -D_FORTIFY_SOURCE=2 (gcc)Ivan Maidanski2021-12-251-2/+2
|
* Travis CI: Add -D _FORTIFY_SOURCE=2 where assertions are onIvan Maidanski2021-12-251-14/+18
|
* AppVeyor CI: Test with disabled throw_bad_alloc_libraryIvan Maidanski2021-12-251-1/+1
|
* AppVeyor CI: Test with -DGC_DISABLE_INCREMENTALIvan Maidanski2021-12-251-0/+3
|
* Fix parallel_initialized assertion violation in initsecondarythread (Win32)Ivan Maidanski2021-12-251-1/+1
| | | | | | * win32_threads.c [!GC_PTHREADS && !GC_NO_THREADS_DISCOVERY] (GC_DllMain): Do not assert parallel_initialized unless GC_win32_dll_threads on DLL_THREAD_DETACH.
* Eliminate 'old_gc_no is initialized but not referenced' MS VC false warningIvan Maidanski2021-12-241-0/+4
| | | | | * win32_threads.c [GC_DISABLE_INCREMENTAL] (GC_wait_for_gc_completion): Define as no-op macro (instead of a static function).
* AppVeyor CI: Do not define GC_NO_INLINE_STD_NEW for MSVC buildsIvan Maidanski2021-12-231-1/+1
| | | | | Non-inline system-wide new and delete operators do not work reliably because of arbitrary symbols ordering by MS linker.
* Replace obsolete AC_TRY_COMPILE/LINK/RUN in configure.acIvan Maidanski2021-12-231-47/+51
| | | | | | | | | | (refactoring) * configure.ac (AC_TRY_COMPILE): Replace with AC_COMPILE_IFELSE(AC_LANG_SOURCE) or AC_COMPILE_IFELSE(AC_LANG_PROGRAM). * configure.ac (AC_TRY_LINK): Replace with AC_LINK_IFELSE(AC_LANG_PROGRAM); reformat code. * configure.ac (AC_TRY_RUN): Replace with AC_RUN_IFELSE(AC_LANG_SOURCE).
* Remove obsolete AC_PROG_LIBTOOL in configure.acIvan Maidanski2021-12-231-4/+2
| | | | | | | (refactoring) * configure.ac (LT_INIT): Remove AC_PROG_LIBTOOL from comment. * configure.ac (AC_PROG_LIBTOOL): Remove (it duplicates LT_INIT).
* Support space-separated flags in CFLAGS_EXTRA passed to CMakeIvan Maidanski2021-12-231-1/+2
| | | | | | | (fix of commit b6ac6a5a4) * CMakeLists.txt [CFLAGS_EXTRA] (CFLAGS_EXTRA): Apply separate_arguments(UNIX_COMMAND).
* Fix undefined __stack_base__ on UWP/arm64 (llvm-mingw)Bruce A Henderson2021-12-221-1/+1
| | | | | | | | | (fix of commit 1471f940e) Issue #405 (bdwgc). * include/private/gcconfig.h [__aarch64__] (NOSYS): Do not define if _WIN32.
* Update ChangeLog fileIvan Maidanski2021-12-221-0/+42
|
* Update ChangeLog file (v8.2 changes)Ivan Maidanski2021-12-211-0/+36
|
* Update ChangeLog file (v8.0 changes)Ivan Maidanski2021-12-211-0/+19
| | | | (a cherry-pick of commit 0e16efb2e from 'release-8_0')
* Update ChangeLog file (v7.6 changes)Ivan Maidanski2021-12-211-0/+14
| | | | (a cherry-pick of commit 1422cd1d0 from 'release-7_6')
* Update ChangeLog file (v7.2 - v7.4 changes only)Ivan Maidanski2021-12-211-0/+17
| | | | (a cherry-pick of commit e9e52ab66 from 'release-7_4')
* Travis CI: Test always-multi-threaded build with assertionsIvan Maidanski2021-12-051-1/+1
|
* Fix lock assertion violation in GC_find_limit if always multi-threadedIvan Maidanski2021-12-051-0/+8
| | | | | | | | | Issue #399 (bdwgc). * misc.c [GC_ASSERTIONS && GC_ALWAYS_MULTITHREADED && (SEARCH_FOR_DATA_START || NETBSD)] (GC_init): Wrap GC_init_linux_data_start() and GC_init_netbsd_elf() calls into LOCK/UNLOCK.
* AppVeyor CI: Add OS/2 and Win32 builds with wcc compilerIvan Maidanski2021-12-051-0/+21
|
* Fix missing write() declaration if CONSOLE_LOG (Watcom)Ivan Maidanski2021-12-051-1/+1
| | | | | * misc.c [CONSOLE_LOG && MSWIN32]: Include io.h unless __GNUC__ (regardless of _MSC_VER).
* AppVeyor CI: Build djgpp tests in test_script sectionIvan Maidanski2021-12-051-3/+5
| | | | (fix of commit 8c6e63c6b)
* AppVeyor CI: Always pass -wx option (treat warnings as errors) to dmcIvan Maidanski2021-12-051-2/+2
|
* Do not treat warnings as errors by default in digimars.makIvan Maidanski2021-12-051-1/+1
| | | | * digimars.mak (CFLAGS): Remove -wx.
* Travis CI: Add x86_64-w64-mingw32 build with pthreadsIvan Maidanski2021-12-031-0/+9
|
* Fix GC_allocate_ml incorrect cleanup in GC_deinit if pthreads (MinGW)Ivan Maidanski2021-12-031-1/+3
| | | | | | | | | (fix of commit 72ba00903) Issue #397 (bdwgc). * misc.c [GC_WIN32_THREADS && (MSWIN32 || MSWINCE)] (GC_deinit): Do not call DeleteCriticalSection(&GC_allocate_ml) if GC_PTHREADS.
* Workaround 'info is not assigned' cppcheck FP if assertions on (OS X)Ivan Maidanski2021-12-031-1/+1
| | | | | | | | (fix of commit 9aa26e0b5) * darwin_stop_world.c [CPPCHECK] (GC_thread_resume): Initialize info.run_state value (to 0) before thread_info() call even if not DEBUG_THREADS.
* AppVeyor CI: Add build with djgpp compilerIvan Maidanski2021-12-021-0/+9
|
* Assert SET_HDR does not write to GC_all_nilsIvan Maidanski2021-12-021-4/+5
| | | | | | | | Issue #237 (bdwgc). * include/private/gc_hdrs.h (HDR_FROM_BI): Delete outer parentheses. * include/private/gc_hdrs.h [HASH_TL] (SET_HDR): Expand GET_HDR_ADDR(); add assertion that bi is not GC_all_nils.
* Do not call SET_HDR() to remove forwarding counts if none exists in hblkIvan Maidanski2021-12-022-4/+9
| | | | | | | | | | | | Issue #237 (bdwgc). This also prevents writing zeros to GC_all_nils by GC_remove_counts(). * headers.c (GC_remove_counts): If HDR(h+1) is zero (and sz is at least one block) then assert that HDR() of other hbp elements is zero too and then return (w/o SET_HDR(hbp,0) invocation). * ptr_chck.c (GC_is_valid_displacement): Remove comment that if(p) is needed to avoid a data race.
* AppVeyor CI: Add build with dmc compilerIvan Maidanski2021-12-021-0/+11
|
* Support CFLAGS_EXTRA in digimars.makIvan Maidanski2021-12-021-1/+2
| | | | | * digimars.mak (CFLAGS_EXTRA): New variable (defined as empty). * digimars.mak (CFLAGS): Append $(CFLAGS_EXTRA).
* AppVeyor CI: Wrap long cmd linesIvan Maidanski2021-12-021-13/+30
|
* Workaround Thread Sanitizer (TSan) FP warning in is_valid_displacementIvan Maidanski2021-12-011-0/+5
| | | | | | | Issue #237 (bdwgc). * ptr_chck.c (GC_is_valid_displacement): Avoid passing NULL to HDR(p); add comment.
* Travis CI: Test cmake build with -Dwith_libatomic_ops=ONIvan Maidanski2021-11-301-0/+8
|
* Compile pthread_start.c on Darwin again by CMake scriptIvan Maidanski2021-11-301-3/+6
| | | | | | | | | (fix of commit 6ccda3052) * CMakeLists.txt [CMAKE_USE_PTHREADS_INIT && !CYGWIN && !MSYS && APPLE] (SRC): Add pthread_start.c item again. * CMakeLists.txt [CMAKE_USE_PTHREADS_INIT && !CYGWIN && !MSYS] (SRC): Specify pthread_support.c once (avoid code duplication).
* AppVeyor CI: Test cmake build with 'without_libatomic_ops'Ivan Maidanski2021-11-301-1/+1
|
* Try find libatomic_ops installed by cmake if with_libatomic_ops (CMake)Ivan Maidanski2021-11-301-5/+17
| | | | | | | | | | | | | | | | | | | | * CMakeLists.txt (ATOMIC_OPS_LIBS_CMAKE): New variable. * CMakeLists.txt [enable_threads && with_libatomic_ops] (Atomic_ops): Call find_package(). * CMakeLists.txt [enable_threads && with_libatomic_ops && Atomic_ops_FOUND] (AO_INCLUDE_DIRS): Get target property from Atomic_ops::atomic_ops; pass it to include_directories and print it as status message. * CMakeLists.txt [enable_threads && with_libatomic_ops] (ATOMIC_OPS_LIBS_CMAKE): Set either to Atomic_ops::atomic_ops or to ${ATOMIC_OPS_LIBS}. * CMakeLists.txt [enable_threads] (gc): Use ${ATOMIC_OPS_LIBS_CMAKE} instead of ${ATOMIC_OPS_LIBS}. * CMakeLists.txt [build_tests] (gctest): Likewise. * CMakeLists.txt [build_tests && enable_threads] (test_atomic_ops, subthreadcreate_test): Likewise. * CMakeLists.txt [build_tests && enable_disclaim] (disclaim_weakmap_test): Likewise.
* Add _PROP suffix to CORD/GC[CPP]_VERSION variables in CMake scriptIvan Maidanski2021-11-301-10/+10
| | | | | | | | | | | (refactoring) * CMakeLists.txt [BUILD_SHARED_LIBS] (CORD_VERSION): Rename variable to CORD_VERSION_PROP. * CMakeLists.txt [BUILD_SHARED_LIBS] (GC_VERSION): Rename variable to GC_VERSION_PROP. * CMakeLists.txt [BUILD_SHARED_LIBS] (GCCPP_VERSION): Rename variable to GCCPP_VERSION_PROP.
* Enable without_libatomic_ops for targets requiring atomic_ops.c (CMake)Ivan Maidanski2021-11-301-20/+32
| | | | | | | | | | | This matches the functionality of configure --without-libatomic-ops. * CMakeLists.txt (NODIST_SRC): New variable. * CMakeLists.txt [without_libatomic_ops] (NODIST_SRC): Set variable (to libatomic_ops/src/atomic_ops.c, adding libatomic_ops/src/atomic_ops_sysdeps.S if SunPro); add comment. * CMakeLists.txt (add_executable): Add ${NODIST_SRC} to the list of test source files.