summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2021-12-23 08:58:39 +0300
committerIvan Maidanski <ivmai@mail.ru>2021-12-30 23:53:47 +0300
commitae6159552b8d223638346ccd32ca1fd86a2f4768 (patch)
tree7b40dcb48aba70d971ef3048cd00e43734d25753
parente611cf663d767cae36d4493b53d1eeccfe112506 (diff)
downloadbdwgc-draft-appveyor.tar.gz
DRAFT 503 - debug cmake release with NO_MSGBOX_ON_ERROR and enable-cplusplusdraft-appveyor
-rw-r--r--.appveyor.yml79
-rw-r--r--.travis.yml833
-rw-r--r--CMakeLists.txt2
3 files changed, 10 insertions, 904 deletions
diff --git a/.appveyor.yml b/.appveyor.yml
index af9e513b..00e38cab 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -9,77 +9,16 @@ environment:
TEST_TARGET: check
matrix:
- TARGET: cmake
- CMAKE_OPTIONS: -DBUILD_SHARED_LIBS=OFF -Dbuild_tests=ON -Denable_cplusplus=ON -Denable_gc_assertions=ON -Werror=deprecated -Dwithout_libatomic_ops=ON
- - TARGET: cmake
- CMAKE_OPTIONS: -Dbuild_tests=ON -Denable_cplusplus=ON -Denable_throw_bad_alloc_library=OFF -Denable_gc_assertions=ON -Denable_gc_debug=ON -Denable_threads=OFF
- - TARGET: cmake
- CFLAGS_EXTRA: -DNO_MSGBOX_ON_ERROR -DNO_MPROTECT_VDB
- CMAKE_CONFIG: Release
- CMAKE_OPTIONS: -Dbuild_tests=ON -Denable_cplusplus=ON -Denable_large_config=ON -Ddisable_gc_debug=ON
- - TARGET: cmake
- CMAKE_CONFIG: Release
- CMAKE_OPTIONS: -Denable_parallel_mark=OFF
- - TARGET: cmake
- CFLAGS_EXTRA: -DGC_DISABLE_INCREMENTAL
- CMAKE_OPTIONS: -Denable_gc_assertions=ON -Denable_gcj_support=OFF -Denable_parallel_mark=OFF -Denable_thread_local_alloc=OFF
- - TARGET: cmake
- CMAKE_OPTIONS: -A Win32 -Dbuild_tests=ON -Denable_cplusplus=ON -Denable_gc_assertions=ON -Denable_large_config=ON
- - TARGET: cmake
- CMAKE_OPTIONS: -A ARM -Denable_cplusplus=ON -Denable_gc_assertions=ON
- - TARGET: cmake
- CMAKE_OPTIONS: -A ARM64 -Denable_cplusplus=ON
+ CFLAGS_EXTRA: -DNO_MSGBOX_ON_ERROR -DGC_DISABLE_INCREMENTAL /GR /EHsc
CMAKE_CONFIG: Release
- - TARGET: nmake
- ARCH: x86
- NMAKE_OPTIONS: enable_static=1
- - TARGET: nmake
- ARCH: x64
- CFLAGS_EXTRA: /J
- - TARGET: nmake
- ARCH: x86
- NMAKE_OPTIONS: nodebug=1
- - TARGET: nmake
- ARCH: x64
- NMAKE_OPTIONS: disable_threads=1
- - TARGET: djgpp-no-make
- CFLAGS_EXTRA: -O3 -DALL_INTERIOR_POINTERS -DNO_EXECUTE_PERMISSION -DENABLE_DISCLAIM -DGC_ATOMIC_UNCOLLECTABLE -DGC_GCJ_SUPPORT
- - TARGET: dmc
- CFLAGS_EXTRA: -s
- - TARGET: cygwin
- CONF_OPTIONS: --enable-cplusplus
- CFLAGS_EXTRA: -D GCTEST_PRINT_VERBOSE
- - TARGET: cygwin
- CONF_OPTIONS: --enable-cplusplus --disable-munmap --enable-gc-assertions
- - TARGET: cygwin64
- CONF_OPTIONS: --enable-cplusplus
- CFLAGS_EXTRA: -D GCTEST_PRINT_VERBOSE
- - TARGET: cygwin64
- CFLAGS_EXTRA: -std=c11 -D GC_ALWAYS_MULTITHREADED -D LINT2 -D TEST_MANUAL_VDB
- CONF_OPTIONS: --enable-cplusplus --enable-gc-assertions --disable-shared
- - TARGET: cygwin64
- CONF_OPTIONS: --disable-threads
- CFLAGS_EXTRA: -D USE_WINALLOC
- - TARGET: mingw
- - TARGET: mingw
- CFLAGS_EXTRA: -D GC_THREADS -D THREAD_LOCAL_ALLOC -D PARALLEL_MARK -D GC_ASSERTIONS -D EMPTY_GETENV_RESULTS -D GC_GCJ_SUPPORT -D USE_MUNMAP -D LARGE_CONFIG -D NO_MSGBOX_ON_ERROR
- - TARGET: mingw
- CFLAGS_EXTRA: -O3 -march=native -D GC_THREADS -D GC_GCJ_SUPPORT -D GC_TIME_LIMIT=10 -D WINXP_USE_PERF_COUNTER -D NO_MSGBOX_ON_ERROR
- - TARGET: mingw-shared-no-make
- CFLAGS_EXTRA: -D GC_THREADS -D GC_ASSERTIONS -D ENABLE_DISCLAIM -D GC_GCJ_SUPPORT -D GC_PREFER_MPROTECT_VDB -D GC_CALL=__stdcall -D GC_CALLBACK=__fastcall -D CONSOLE_LOG -D NO_MSGBOX_ON_ERROR
- - TARGET: mingw-w64
- CFLAGS_EXTRA: -D NO_MSGBOX_ON_ERROR
- - TARGET: mingw-w64
- CFLAGS_EXTRA: -D GC_THREADS -D THREAD_LOCAL_ALLOC -D PARALLEL_MARK -D GC_ASSERTIONS -D GC_GCJ_SUPPORT -D NO_RETRY_GET_THREAD_CONTEXT
- - TARGET: wcc
- WCC_SYSTEM: OS2
- CFLAGS_EXTRA: -DGC_ASSERTIONS
- ENABLE_STATIC_OPT: "ENABLE_STATIC=1"
- TEST_TARGET: check-deps
- WCC_INC_SUBDIR: os2
- - TARGET: wcc
- WCC_SYSTEM: MSWIN32
- CFLAGS_EXTRA: -DCONSOLE_LOG -DUSE_MMAP -DUSE_MUNMAP
- WCC_INC_SUBDIR: nt
+ CMAKE_OPTIONS: -Dbuild_tests=ON -Denable_gc_assertions=ON -Denable_throw_bad_alloc_library=OFF -Denable_parallel_mark=OFF -Denable_thread_local_alloc=OFF
+
+# CMAKE_OPTIONS: -Dbuild_tests=ON -Denable_cplusplus=ON -Denable_gc_assertions=ON -Denable_throw_bad_alloc_library=OFF -Denable_parallel_mark=OFF -Denable_thread_local_alloc=OFF
+
+#on_finish:
+#- ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
+
+# disable ctest
clone_depth: 50
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 9cf63d92..00000000
--- a/.travis.yml
+++ /dev/null
@@ -1,833 +0,0 @@
-language: cpp
-os: linux
-
-jobs:
- include:
- - compiler: clang
- env:
- - CONF_OPTIONS="--enable-cplusplus"
- - NO_CLONE_LIBATOMIC_OPS=true
- - compiler: gcc
- env:
- - CONF_OPTIONS="--enable-cplusplus"
- - os: osx
- env:
- - CONF_OPTIONS="--enable-cplusplus"
- - NO_CLONE_LIBATOMIC_OPS=true
- - env:
- - COVERITY_SCAN_BRANCH=1
- addons:
- coverity_scan:
- project:
- name: ivmai/bdwgc
- version: 8.3.0
- notification_email: ivmai@mail.ru
- branch_pattern: master
- build_command_prepend: "./configure --enable-cplusplus --disable-shared --enable-single-obj-compilation"
- build_command: make -j check CFLAGS_EXTRA=-DLINT2
- - addons:
- apt:
- packages:
- - lcov
- compiler: gcc
- env:
- - CONF_OPTIONS="--enable-gcov --enable-single-obj-compilation --enable-cplusplus --disable-shared --enable-gc-assertions"
- - CFLAGS_EXTRA="-D USE_CUSTOM_SPECIFIC"
- - CC_FOR_CHECK=g++
- - MAKEFILE_TARGETS="all"
- - MAKEFILE_TARGETS_CHECK="check"
- - NO_CLONE_LIBATOMIC_OPS=true
- - REPORT_COVERAGE=true
- - TESTS_CUSTOM_RUN=true
- - env:
- - MAKEFILE_TARGETS="dist"
- - os: osx
- env:
- - CSA_CHECK=true
- - CFLAGS_EXTRA="-m32"
- - compiler: clang
- language: c
- env:
- - CSA_CHECK=true
- - CFLAGS_EXTRA="-D ALL_INTERIOR_POINTERS -D CHECKSUMS -D DBG_HDRS_ALL -D DEBUG_THREADS -D ENABLE_TRACE -D GC_ALWAYS_MULTITHREADED -D GC_ASSERTIONS -D GC_ATOMIC_UNCOLLECTABLE -D GC_ENABLE_SUSPEND_THREAD -D GC_GCJ_SUPPORT -D GC_PRINT_BACK_HEIGHT -D GC_THREADS -D HANDLE_FORK -D JAVA_FINALIZATION -D KEEP_BACK_PTRS -D MAKE_BACK_GRAPH -D PARALLEL_MARK -D PRINT_BLACK_LIST -D THREAD_LOCAL_ALLOC -D USE_MMAP -D USE_MUNMAP"
- - env:
- - CPPCHECK_ENABLE="--enable=unusedFunction -I libatomic_ops/src extra/gc.c tests/*.c"
- - env:
- - CPPCHECK_ENABLE="--enable=unusedFunction --force -D GC_BUILTIN_ATOMIC *.cc cord/*.c cord/tests/*.c tests/*.c tests/*.cc"
- - CPPCHECK_OUT_FILTER="Z"
- - NO_CLONE_LIBATOMIC_OPS=true
- - env:
- - CPPCHECK_ENABLE="-j4 --enable=information,performance,portability,style,warning --force -U GC_PRIVATE_H -I libatomic_ops/src *.c"
- - env:
- - CPPCHECK_ENABLE="-j4 --enable=information,performance,portability,style,warning --force -U GC_PRIVATE_H -I libatomic_ops/src *.cc cord/*.c cord/tests/*.c extra/AmigaOS.c extra/MacOS.c extra/msvc_dbg.c extra/symbian.cpp tests/*.c tests/*.cc tools/*.c"
- - arch: arm64
- compiler: clang
- - arch: arm64
- compiler: gcc
- - addons:
- apt:
- packages:
- - clang-12
- sources:
- - ubuntu-toolchain-r-test
- arch: arm64
- compiler: clang-12
- dist: focal
- env:
- - CC=clang-12
- - CXX=clang++-12
- - CFLAGS_EXTRA="-O3"
- - CONF_OPTIONS="--enable-gc-assertions --enable-cplusplus --disable-shared"
- - NO_CLONE_LIBATOMIC_OPS=true
- - addons:
- apt:
- packages:
- - g++-11
- sources:
- - ubuntu-toolchain-r-test
- arch: arm64
- compiler: g++-11
- dist: bionic
- env:
- - CC=gcc-11
- - CXX=g++-11
- - CFLAGS_EXTRA="-O3"
- - CONF_OPTIONS="--enable-cplusplus --disable-gcj-support"
- - NO_CLONE_LIBATOMIC_OPS=true
- - addons:
- apt:
- packages:
- - musl-tools
- arch: arm64
- compiler: musl-gcc
- language: c
- env:
- - CFLAGS_EXTRA="-O3 -D SOFT_VDB"
- - CONF_OPTIONS="--enable-gc-assertions"
- - NO_CLONE_LIBATOMIC_OPS=true
- - arch: arm64
- compiler: gcc
- env:
- - CONF_OPTIONS="--disable-threads"
- - NO_CLONE_LIBATOMIC_OPS=true
- - arch: arm64
- addons:
- apt:
- packages:
- - libatomic-ops-dev
- compiler: gcc
- env:
- - CONF_OPTIONS="--with-libatomic-ops=yes --enable-gc-assertions --enable-cplusplus --disable-munmap"
- - NO_CLONE_LIBATOMIC_OPS=true
- - addons:
- apt:
- packages:
- - clang-12
- sources:
- - ubuntu-toolchain-r-test
- arch: arm64
- compiler: clang-12
- dist: focal
- language: c
- env:
- - CFLAGS_EXTRA="-fsanitize=memory,undefined -fno-omit-frame-pointer"
- - CONF_OPTIONS="--enable-static"
- - NO_CLONE_LIBATOMIC_OPS=true
- - TESTS_CUSTOM_RUN=true
- - arch: arm64
- compiler: clang
- env:
- - CMAKE_CONFIG="Release"
- - CMAKE_OPTIONS="-Dbuild_tests=ON -DBUILD_SHARED_LIBS=OFF -Denable_cplusplus=ON -Denable_gc_assertions=ON"
- - NO_CLONE_LIBATOMIC_OPS=true
- - arch: arm64
- compiler: gcc
- env:
- - MAKEFILE_NAME=Makefile.direct
- - MAKEFILE_TARGETS="check cord/de"
- - arch: ppc64le
- compiler: clang
- - arch: ppc64le
- compiler: gcc
- - addons:
- apt:
- packages:
- - clang-12
- sources:
- - ubuntu-toolchain-r-test
- arch: ppc64le
- compiler: clang-12
- dist: focal
- env:
- - CC=clang-12
- - CXX=clang++-12
- - CFLAGS_EXTRA="-O3 -D _FORTIFY_SOURCE=2"
- - CONF_OPTIONS="--enable-gc-assertions --enable-cplusplus --enable-static"
- - NO_CLONE_LIBATOMIC_OPS=true
- - addons:
- apt:
- packages:
- - g++-11
- sources:
- - ubuntu-toolchain-r-test
- arch: ppc64le
- compiler: g++-11
- dist: bionic
- env:
- - CC=gcc-11
- - CXX=g++-11
- - CFLAGS_EXTRA="-O3 -D NO_MPROTECT_VDB"
- - CONF_OPTIONS="--enable-cplusplus"
- - NO_CLONE_LIBATOMIC_OPS=true
- - addons:
- apt:
- packages:
- - clang-12
- sources:
- - ubuntu-toolchain-r-test
- arch: ppc64le
- compiler: clang-12
- dist: focal
- language: c
- env:
- - CFLAGS_EXTRA="-fsanitize=memory,undefined -fno-omit-frame-pointer"
- - CONF_OPTIONS="--disable-shared"
- - NO_CLONE_LIBATOMIC_OPS=true
- - TESTS_CUSTOM_RUN=true
- - arch: ppc64le
- compiler: clang
- env:
- - CMAKE_CONFIG="Release"
- - CMAKE_OPTIONS="-Dbuild_tests=ON -Denable_cplusplus=ON -Denable_gc_assertions=ON"
- - NO_CLONE_LIBATOMIC_OPS=true
- - arch: ppc64le
- compiler: clang
- env:
- - MAKEFILE_NAME=Makefile.direct
- - MAKEFILE_TARGETS="check cord/de"
- - arch: s390x
- compiler: clang
- - arch: s390x
- compiler: gcc
- - addons:
- apt:
- packages:
- - clang-12
- sources:
- - ubuntu-toolchain-r-test
- arch: s390x
- compiler: clang-12
- dist: focal
- env:
- - CC=clang-12
- - CXX=clang++-12
- - CFLAGS_EXTRA="-O3 -flto -D _FORTIFY_SOURCE=2 -D NO_RETRY_SIGNALS"
- - CONF_OPTIONS="--enable-gc-assertions --enable-cplusplus"
- - addons:
- apt:
- packages:
- - g++-11
- sources:
- - ubuntu-toolchain-r-test
- arch: s390x
- compiler: g++-11
- dist: bionic
- env:
- - CC=gcc-11
- - CXX=g++-11
- - CFLAGS_EXTRA="-O3 -flto=auto -D _FORTIFY_SOURCE=2"
- - CONF_OPTIONS="--enable-cplusplus --disable-shared"
- - NO_CLONE_LIBATOMIC_OPS=true
- - arch: s390x
- compiler: gcc
- env:
- - MAKEFILE_NAME=Makefile.direct
- - MAKEFILE_TARGETS="check cord/de"
- - os: freebsd
- compiler: gcc
- env:
- - CFLAGS_EXTRA="-O3 -D _FORTIFY_SOURCE=2"
- - CONF_OPTIONS="--enable-cplusplus --enable-gc-assertions"
- - MAKE_NPROC=8
- - NO_CLONE_LIBATOMIC_OPS=true
- - os: freebsd
- env:
- - CONF_OPTIONS="--enable-cplusplus"
- - MAKE_NPROC=8
- - NO_CLONE_LIBATOMIC_OPS=true
- - os: freebsd
- env:
- - CONF_OPTIONS="--enable-gc-assertions --disable-shared"
- - MAKE_NPROC=8
- - NO_CLONE_LIBATOMIC_OPS=true
- - os: freebsd
- env:
- - CMAKE_CONFIG="Release"
- - CMAKE_OPTIONS="-Denable_cplusplus=ON"
- - NO_CLONE_LIBATOMIC_OPS=true
- - os: freebsd
- compiler: clang
- env:
- - MAKEFILE_NAME=Makefile.direct
- - MAKEFILE_TARGETS="check cord/de"
- - MAKE_NPROC=8
- - addons:
- apt:
- packages:
- - g++-11
- sources:
- - ubuntu-toolchain-r-test
- compiler: g++-11
- dist: bionic
- env:
- - CC=gcc-11
- - CXX=g++-11
- - CFLAGS_EXTRA="-O3 -march=native"
- - CONF_OPTIONS="--enable-cplusplus"
- - NO_CLONE_LIBATOMIC_OPS=true
- - compiler: gcc
- env:
- - CFLAGS_EXTRA="-D _FORTIFY_SOURCE=2"
- - CONF_OPTIONS="--enable-gc-assertions --enable-cplusplus --enable-static"
- - NO_CLONE_LIBATOMIC_OPS=true
- - addons:
- apt:
- packages:
- - gcc-multilib
- compiler: clang
- env:
- - CFLAGS_EXTRA="-m32 -funsigned-char -D _FORTIFY_SOURCE=2"
- - CONF_OPTIONS="--enable-gc-assertions"
- - NO_CLONE_LIBATOMIC_OPS=true
- - addons:
- apt:
- packages:
- - gcc-multilib
- compiler: gcc
- env:
- - CFLAGS_EXTRA="-m32 -D _FORTIFY_SOURCE=2"
- - CONF_OPTIONS="--enable-gc-assertions --enable-mmap"
- - os: osx
- env:
- - CFLAGS_EXTRA="-m32 -D _FORTIFY_SOURCE=2"
- - CONF_OPTIONS="--enable-gc-assertions --enable-cplusplus"
- - NO_CLONE_LIBATOMIC_OPS=true
- - compiler: gcc
- env:
- - CONF_OPTIONS="--disable-threads --enable-checksums --disable-munmap --enable-cplusplus"
- - NO_CLONE_LIBATOMIC_OPS=true
- - compiler: clang
- env:
- - CFLAGS_EXTRA="-D _FORTIFY_SOURCE=2 -D DBG_HDRS_ALL -D SHORT_DBG_HDRS"
- - CONF_OPTIONS="--enable-gc-assertions --enable-cplusplus"
- - NO_CLONE_LIBATOMIC_OPS=true
- - os: osx
- env:
- - CFLAGS_EXTRA="-D DBG_HDRS_ALL -D SHORT_DBG_HDRS -D LINT2"
- - CONF_OPTIONS="--enable-gc-assertions --enable-cplusplus --enable-handle-fork=manual --disable-throw-bad-alloc-library"
- - NO_CLONE_LIBATOMIC_OPS=true
- - compiler: gcc
- env:
- - CFLAGS_EXTRA="-D DEBUG_ADD_DEL_ROOTS -D DEBUG_THREADS -D GC_DEBUG -D GC_LOG_TO_FILE_ALWAYS"
- - CONF_OPTIONS="--enable-cplusplus"
- - compiler: gcc
- env:
- - CFLAGS_EXTRA="-D BSD_TIME -D DEFAULT_STACK_MAYBE_SMALL -D ENABLE_TRACE -D EMPTY_GETENV_RESULTS -D GC_ALWAYS_MULTITHREADED -D GC_NETBSD_THREADS_WORKAROUND -D CPPCHECK"
- - CONF_OPTIONS="--enable-cplusplus --enable-gc-assertions"
- - compiler: clang
- env:
- - CFLAGS_EXTRA="-march=native -D _FORTIFY_SOURCE=2 -D DEFAULT_VDB -D TEST_WITH_SYSTEM_MALLOC"
- - CONF_OPTIONS="--without-libatomic-ops --enable-cplusplus --disable-handle-fork"
- - addons:
- apt:
- packages:
- - libatomic-ops-dev
- compiler: gcc
- env:
- - CFLAGS_EXTRA="-D _FORTIFY_SOURCE=2 -D TEST_PAGES_EXECUTABLE"
- - CONF_OPTIONS="--with-libatomic-ops=yes --enable-gc-assertions --enable-cplusplus --disable-throw-bad-alloc-library"
- - NO_CLONE_LIBATOMIC_OPS=true
- - os: osx
- env:
- - CFLAGS_EXTRA="-march=native -D _FORTIFY_SOURCE=2 -D AO_DISABLE_GCC_ATOMICS"
- - CONF_OPTIONS="--without-libatomic-ops --enable-munmap --enable-cplusplus --enable-static"
- - compiler: gcc
- env:
- - CONF_CFLAGS="-D _FORTIFY_SOURCE=2 -D AO_USE_PTHREAD_DEFS"
- - CONF_OPTIONS="--without-libatomic-ops --enable-gc-assertions --enable-cplusplus --enable-static"
- - compiler: clang
- env:
- - CONF_CFLAGS="-D AO_USE_PTHREAD_DEFS"
- - CONF_OPTIONS="--without-libatomic-ops"
- - addons:
- apt:
- packages:
- - libatomic-ops-dev
- compiler: gcc
- env:
- - CONF_CFLAGS="-D AO_USE_PTHREAD_DEFS"
- - CONF_OPTIONS="--with-libatomic-ops=yes --enable-cplusplus"
- - NO_CLONE_LIBATOMIC_OPS=true
- compiler: clang
- env:
- - CONF_CFLAGS="-D AO_USE_PTHREAD_DEFS"
- - CONF_OPTIONS="--with-libatomic-ops=yes --enable-gc-assertions --enable-cplusplus --disable-shared --enable-static"
- - NO_CLONE_LIBATOMIC_OPS=true
- - compiler: gcc
- env:
- - CFLAGS_EXTRA="-funsigned-char -D _FORTIFY_SOURCE=2 -D DONT_ADD_BYTE_AT_END -D GC_TIME_LIMIT=10"
- - CONF_OPTIONS="--enable-gc-assertions --enable-cplusplus"
- - addons:
- apt:
- packages:
- - gcc-multilib
- compiler: gcc
- env:
- - CFLAGS_EXTRA="-m32 -D _FORTIFY_SOURCE=2 -D MARK_BIT_PER_OBJ -D USE_CUSTOM_SPECIFIC"
- - CONF_OPTIONS="--enable-gc-assertions"
- - compiler: clang
- env:
- - CFLAGS_EXTRA="-D MARK_BIT_PER_OBJ"
- - CONF_OPTIONS="--enable-cplusplus"
- - compiler: gcc
- env:
- - CFLAGS_EXTRA="-D _FORTIFY_SOURCE=2 -D NO_CLOCK -D POINTER_MASK=~0xf"
- - CONF_OPTIONS="--enable-gc-assertions --enable-cplusplus --enable-handle-fork=manual"
- - compiler: gcc
- env:
- - CFLAGS_EXTRA="-D PROC_VDB -D GC_NO_SYS_FAULT_H -D NO_INCREMENTAL -D DEBUG_DIRTY_BITS"
- - CONF_OPTIONS="--enable-cplusplus --disable-docs"
- - compiler: clang
- env:
- - CFLAGS_EXTRA="-D _FORTIFY_SOURCE=2 -D TEST_MANUAL_VDB"
- - CONF_OPTIONS="--enable-gc-assertions --disable-parallel-mark"
- - compiler: gcc
- env:
- - CFLAGS_EXTRA="-D TEST_MANUAL_VDB"
- - CONF_OPTIONS="--enable-gc-assertions --disable-munmap"
- - compiler: gcc
- env:
- - CFLAGS_EXTRA="-D _FORTIFY_SOURCE=2 -D FIND_LEAK -D SKIP_LEAKED_OBJECTS_PRINTING"
- - CONF_OPTIONS="--enable-gc-assertions --enable-cplusplus"
- - compiler: gcc
- env:
- - CFLAGS_EXTRA="-D SMALL_CONFIG -D NO_GETENV"
- - CONF_OPTIONS="--enable-cplusplus"
- - compiler: gcc
- env:
- - CFLAGS_EXTRA="-std=c11 -D _FORTIFY_SOURCE=2 -D GC_NO_SIGSETJMP"
- - CONF_OPTIONS="--disable-threads --enable-gc-assertions"
- - NO_CLONE_LIBATOMIC_OPS=true
- - compiler: clang
- env:
- - CONF_OPTIONS="--disable-thread-local-alloc --enable-cplusplus --enable-static"
- - NO_CLONE_LIBATOMIC_OPS=true
- - compiler: gcc
- env:
- - CFLAGS_EXTRA="-O3 -flto -D _FORTIFY_SOURCE=2"
- - CONF_OPTIONS="--disable-parallel-mark --disable-thread-local-alloc --enable-gc-assertions --enable-cplusplus"
- - compiler: gcc
- env:
- - CONF_OPTIONS="--enable-gc-debug --enable-cplusplus"
- - compiler: gcc
- env:
- - CONF_OPTIONS="--disable-gc-debug --enable-cplusplus"
- - compiler: clang
- env:
- - CONF_OPTIONS="--enable-large-config --enable-cplusplus --disable-shared --enable-static"
- - NO_CLONE_LIBATOMIC_OPS=true
- - os: osx
- env:
- - CFLAGS_EXTRA="-D TEST_HANDLE_FORK"
- - CONF_OPTIONS="--enable-cplusplus --disable-shared --enable-static"
- - os: osx
- env:
- - CONF_OPTIONS="--enable-large-config --enable-cplusplus --disable-handle-fork"
- - NO_CLONE_LIBATOMIC_OPS=true
- - addons:
- apt:
- packages:
- - gcc-multilib
- compiler: gcc
- env:
- - CONF_OPTIONS="--enable-large-config --disable-munmap"
- - CFLAGS_EXTRA="-m32"
- - compiler: gcc
- env:
- - CONF_OPTIONS="--enable-large-config --enable-cplusplus --enable-gc-assertions --enable-static"
- - CFLAGS_EXTRA="-D LINT2 -D NO_VDB_FOR_STATIC_ROOTS"
- - addons:
- apt:
- packages:
- - gcc-multilib
- compiler: clang
- env:
- - CONF_OPTIONS="--enable-redirect-malloc --enable-static --disable-threads"
- - CFLAGS_EXTRA="-m32"
- - NO_CLONE_LIBATOMIC_OPS=true
- - os: osx
- env:
- - CONF_OPTIONS="--enable-redirect-malloc --enable-cplusplus --enable-static --disable-threads"
- - CFLAGS_EXTRA="-m32"
- - NO_CLONE_LIBATOMIC_OPS=true
- - compiler: gcc
- env:
- - CFLAGS_EXTRA="-D _FORTIFY_SOURCE=2"
- - CONF_OPTIONS="--enable-redirect-malloc --enable-gc-debug --enable-cplusplus --enable-gc-assertions"
- - compiler: clang
- env:
- - CONF_OPTIONS="--disable-threads --enable-cplusplus"
- - CFLAGS_EXTRA="-O3 -march=native"
- - NO_CLONE_LIBATOMIC_OPS=true
- - compiler: gcc
- env:
- - CONF_OPTIONS="--disable-static --disable-threads --enable-cplusplus"
- - CFLAGS_EXTRA="-O3 -march=native -D GC_PREFER_MPROTECT_VDB"
- - NO_CLONE_LIBATOMIC_OPS=true
- - os: osx
- env:
- - CONF_OPTIONS="--disable-threads --enable-cplusplus"
- - CFLAGS_EXTRA="-O3 -march=native"
- - NO_CLONE_LIBATOMIC_OPS=true
- - compiler: clang
- env:
- - CMAKE_CONFIG="Debug"
- - CMAKE_OPTIONS="-Denable_cplusplus=ON -Denable_gc_assertions=ON"
- - NO_CLONE_LIBATOMIC_OPS=true
- - addons:
- apt:
- packages:
- - libatomic-ops-dev
- compiler: clang
- env:
- - CMAKE_CONFIG="Debug"
- - CMAKE_OPTIONS="-Denable_cplusplus=ON -Denable_munmap=OFF -Dwith_libatomic_ops=ON"
- - compiler: gcc
- env:
- - CMAKE_CONFIG="Release"
- - CMAKE_OPTIONS="-Denable_cplusplus=ON -Denable_large_config=ON"
- - NO_CLONE_LIBATOMIC_OPS=true
- - compiler: gcc
- env:
- - CMAKE_CONFIG="Debug"
- - CMAKE_OPTIONS="-DBUILD_SHARED_LIBS=OFF -Denable_gc_debug=ON -Dwithout_libatomic_ops=ON"
- - compiler: gcc
- env:
- - CMAKE_CONFIG="Release"
- - CMAKE_OPTIONS="-DBUILD_SHARED_LIBS=OFF -Denable_threads=OFF"
- - NO_CLONE_LIBATOMIC_OPS=true
- - os: osx
- env:
- - CMAKE_CONFIG="Debug"
- - CMAKE_OPTIONS="-Denable_cplusplus=ON"
- - NO_CLONE_LIBATOMIC_OPS=true
- - os: osx
- env:
- - CMAKE_CONFIG="Release"
- - CMAKE_OPTIONS="-DBUILD_SHARED_LIBS=OFF -Denable_cplusplus=ON -Denable_gc_assertions=ON -Denable_large_config=ON"
- - NO_CLONE_LIBATOMIC_OPS=true
- - compiler: clang
- env:
- - MAKEFILE_NAME=Makefile.direct
- - MAKEFILE_TARGETS="check cord/de"
- - compiler: gcc
- env:
- - MAKEFILE_NAME=Makefile.direct
- - MAKEFILE_TARGETS="check cord/de"
- - os: osx
- env:
- - MAKEFILE_NAME=Makefile.direct
- - MAKEFILE_TARGETS="check cord/de"
- - addons:
- apt:
- packages:
- - musl-tools
- compiler: musl-gcc
- language: c
- env:
- - CONF_OPTIONS="--disable-parallel-mark --enable-gc-assertions"
- - compiler: clang
- env:
- - CFLAGS_EXTRA="-fsanitize=address -fno-common -fno-omit-frame-pointer"
- - CONF_OPTIONS="--enable-cplusplus --enable-static"
- - NO_CLONE_LIBATOMIC_OPS=true
- - TESTS_CUSTOM_RUN=true
- - addons:
- apt:
- packages:
- - gcc-5
- sources:
- - ubuntu-toolchain-r-test
- compiler: gcc-5
- language: c
- env:
- - CFLAGS_EXTRA="-fsanitize=address -O0"
- - CONF_OPTIONS="--enable-gc-assertions"
- - LDFLAGS="-fuse-ld=gold"
- - os: osx
- env:
- - CFLAGS_EXTRA="-fsanitize=address -m32 -fno-omit-frame-pointer"
- - CONF_OPTIONS="--disable-shared --enable-cplusplus"
- - NO_CLONE_LIBATOMIC_OPS=true
- - compiler: clang
- language: c
- env:
- - CFLAGS_EXTRA="-fsanitize=memory -fno-omit-frame-pointer -std=gnu11"
- - CONF_OPTIONS="--enable-static"
- - TESTS_CUSTOM_RUN=true
- - NO_CLONE_LIBATOMIC_OPS=true
- - compiler: clang
- env:
- - CFLAGS_EXTRA="-fsanitize=undefined -fno-common -fno-omit-frame-pointer"
- - TESTS_CUSTOM_RUN=true
- - CONF_OPTIONS="--enable-cplusplus --enable-static"
- - NO_CLONE_LIBATOMIC_OPS=true
- - compiler: clang
- env:
- - CFLAGS_EXTRA="-fsanitize=thread -D NO_CANCEL_SAFE -D NO_INCREMENTAL -D USE_SPIN_LOCK -fno-omit-frame-pointer -D TEST_FORK_WITHOUT_ATFORK"
- - CONF_OPTIONS="--enable-gc-assertions --enable-handle-fork=manual"
- - NO_CLONE_LIBATOMIC_OPS=true
- - compiler: clang
- env:
- - CFLAGS_EXTRA="-fsanitize=thread -D NO_CANCEL_SAFE -D NO_INCREMENTAL -D USE_SPIN_LOCK -fno-omit-frame-pointer -D TEST_FORK_WITHOUT_ATFORK"
- - CONF_OPTIONS="--enable-gc-assertions --enable-gc-debug --enable-handle-fork=manual --enable-large-config --without-libatomic-ops"
- - compiler: clang
- env:
- - CFLAGS_EXTRA="-fsanitize=thread -D NO_CANCEL_SAFE -D NO_INCREMENTAL -D USE_SPIN_LOCK -fno-omit-frame-pointer -D NTHREADS=15"
- - CONF_OPTIONS="--disable-parallel-mark"
- - NO_CLONE_LIBATOMIC_OPS=true
- - compiler: clang
- env:
- - CFLAGS_EXTRA="-fsanitize=thread -D NO_CANCEL_SAFE -D NO_INCREMENTAL -fno-omit-frame-pointer"
- - CONF_OPTIONS="--disable-parallel-mark --disable-thread-local-alloc --disable-shared --enable-gc-assertions --without-libatomic-ops"
- - compiler: clang
- env:
- - CFLAGS_EXTRA="-O3 -march=native"
- - CONF_OPTIONS="--enable-cplusplus --enable-static --enable-single-obj-compilation"
- - NO_CLONE_LIBATOMIC_OPS=true
- - addons:
- apt:
- packages:
- - gcc-multilib
- compiler: clang
- env:
- - CFLAGS_EXTRA="-m32 -D _FORTIFY_SOURCE=2 -D GC_DISABLE_INCREMENTAL -std=gnu11"
- - CONF_OPTIONS="--enable-gc-assertions --enable-gc-debug"
- - NO_CLONE_LIBATOMIC_OPS=true
- - addons:
- apt:
- packages:
- - gcc-8
- - g++-8
- sources:
- - ubuntu-toolchain-r-test
- compiler: gcc-8
- language: c
- env:
- - CXX=g++-8
- - CONF_OPTIONS="--enable-cplusplus --enable-gc-assertions --enable-static"
- - NO_CLONE_LIBATOMIC_OPS=true
- - addons:
- apt:
- packages:
- - gcc-8
- - gcc-8-multilib
- - gcc-multilib
- sources:
- - ubuntu-toolchain-r-test
- compiler: gcc-8
- language: c
- env:
- - CFLAGS_EXTRA="-m32 -O3 -std=gnu11"
- - CONF_OPTIONS="--disable-shared --enable-static --enable-single-obj-compilation"
- - NO_CLONE_LIBATOMIC_OPS=true
- - addons:
- apt:
- packages:
- - gcc-8
- - gcc-8-multilib
- - gcc-multilib
- sources:
- - ubuntu-toolchain-r-test
- compiler: gcc-8
- language: c
- env:
- - CFLAGS_EXTRA="-mx32 -march=native -D _FORTIFY_SOURCE=2"
- - CONF_OPTIONS="--enable-large-config --enable-gc-assertions"
- - NO_CLONE_LIBATOMIC_OPS=true
- - compiler: clang
- env:
- - CFLAGS_EXTRA="-x c++"
- - CONF_OPTIONS="--enable-gc-assertions --enable-cplusplus --enable-gc-debug --disable-shared"
- - MAKEFILE_TARGETS="all"
- - NO_CLONE_LIBATOMIC_OPS=true
- - compiler: gcc
- env:
- - CC_FOR_CHECK=g++
- - CONF_OPTIONS="--enable-gc-assertions"
- - MAKEFILE_TARGETS="all"
- - MAKEFILE_TARGETS_CHECK="check"
- - NO_CLONE_LIBATOMIC_OPS=true
- - compiler: clang
- env:
- - CFLAGS_EXTRA="-O3 -Wall -Wextra -Werror -x c++"
- - MAKEFILE_NAME=Makefile.direct
- - MAKEFILE_TARGETS="cords"
- - compiler: gcc
- env:
- - CC_FOR_CHECK=g++
- - CFLAGS_EXTRA="-O3 -Wall -Wextra -Werror -D TEST_MANUAL_VDB"
- - MAKEFILE_NAME=Makefile.direct
- - MAKEFILE_TARGETS="cords"
- - MAKEFILE_TARGETS_CHECK="cord/de check"
- - addons:
- apt:
- packages:
- - g++-mingw-w64
- - gcc-mingw-w64
- compiler: x86_64-w64-mingw32-gcc
- language: c
- env:
- - CXX=x86_64-w64-mingw32-g++
- - CONF_OPTIONS="--host=x86_64-w64-mingw32 --enable-cplusplus --enable-static"
- - MAKEFILE_TARGETS="all"
- - addons:
- apt:
- packages:
- - gcc-mingw-w64
- compiler: x86_64-w64-mingw32-gcc
- language: c
- env:
- - CONF_OPTIONS="--host=x86_64-w64-mingw32 --enable-gc-assertions --enable-gc-debug --enable-threads=pthreads"
- - MAKEFILE_TARGETS="all"
- - addons:
- apt:
- packages:
- - gcc-mingw-w64
- compiler: i686-w64-mingw32-gcc
- language: c
- env:
- - CONF_OPTIONS="--host=i686-w64-mingw32"
- - MAKEFILE_TARGETS="all"
- - CFLAGS_EXTRA="-fno-omit-frame-pointer"
- - dist: focal
- env:
- - MAKEFILE_TARGETS="distcheck"
- - AUTOMAKE_VER=1.16.5
- - LIBTOOL_VER=2.4.6
- - NO_CLONE_LIBATOMIC_OPS=true
-
-before_install:
-- if [[ "$CPPCHECK_ENABLE" != "" ]]; then
- CPPCHECK_VER=2.4.1;
- git clone --depth=3 https://github.com/danmar/cppcheck.git
- ~/cppcheck -b $CPPCHECK_VER;
- make --directory ~/cppcheck -j8 CXXFLAGS="-O3 -march=native -D NDEBUG";
- fi
-- if [[ "$AUTOMAKE_VER" != "" || "$LIBTOOL_VER" != ""
- || "$M4_VER" != "" ]]; then
- GNUTOOLS_ROOT=`pwd`/../gnu-tools;
- export PATH=$GNUTOOLS_ROOT/bin:$PATH;
- GNU_DOWNLOAD_SITE=https://ftp.gnu.org/gnu;
- fi
-- if [[ "$M4_VER" != "" ]]; then
- M4_XZ_URL=$GNU_DOWNLOAD_SITE/m4/m4-$M4_VER.tar.xz;
- wget -O - $M4_XZ_URL | tar xf - --xz --directory ~;
- (cd ~/m4-$M4_VER && ./configure --prefix=$GNUTOOLS_ROOT && make -j check && make install);
- fi
-- if [[ "$LIBTOOL_VER" != "" ]]; then
- LIBTOOL_XZ_URL=$GNU_DOWNLOAD_SITE/libtool/libtool-$LIBTOOL_VER.tar.xz;
- wget -O - $LIBTOOL_XZ_URL | tar xf - --xz --directory ~;
- (cd ~/libtool-$LIBTOOL_VER && ./configure --prefix=$GNUTOOLS_ROOT && make -j && make install);
- fi
-- if [[ "$AUTOMAKE_VER" != "" ]]; then
- AUTOMAKE_XZ_URL=$GNU_DOWNLOAD_SITE/automake/automake-$AUTOMAKE_VER.tar.xz;
- wget -O - $AUTOMAKE_XZ_URL | tar xf - --xz --directory ~;
- (cd ~/automake-$AUTOMAKE_VER && ./configure --prefix=$GNUTOOLS_ROOT && make -j && make install);
- fi
-- if [[ "$MAKEFILE_TARGETS" == *"dist"* ]]; then
- autoconf --version;
- automake --version;
- m4 --version;
- libtool --version || true;
- fi
-- if [[ "$CONF_CFLAGS" == "" ]]; then CONF_CFLAGS="-g -O2"; fi
-- if [[ "$MAKEFILE_NAME" == "" ]]; then MAKEFILE_NAME=Makefile; fi
-- if [[ "$MAKEFILE_TARGETS" == "" ]]; then MAKEFILE_TARGETS="check"; fi
-
-install:
-- if [[ "$NO_CLONE_LIBATOMIC_OPS" != true ]]; then
- git clone --depth=50 https://github.com/ivmai/libatomic_ops.git;
- fi
-- if [[ "$CMAKE_CONFIG" == "" ]]; then
- ./autogen.sh;
- fi
-- if [[ "$GNUTOOLS_ROOT" != "" ]]; then mv $GNUTOOLS_ROOT $GNUTOOLS_ROOT-x; fi
-- if [[ "$REPORT_COVERAGE" == true ]]; then gem install coveralls-lcov; fi
-
-script:
-- if [[ "$CSA_CHECK" != true && "$CMAKE_CONFIG" == ""
- && "$CPPCHECK_ENABLE" == "" && "$MAKEFILE_NAME" != "Makefile.direct"
- && "$COVERITY_SCAN_BRANCH" != 1 ]]; then
- CFLAGS="$CONF_CFLAGS" ./configure $CONF_OPTIONS --enable-werror &&
- cat include/config.h;
- fi
-- if [[ "$CSA_CHECK" != true && "$CMAKE_CONFIG" == ""
- && "$CPPCHECK_ENABLE" == "" && "$COVERITY_SCAN_BRANCH" != 1 ]]; then
- make -j$MAKE_NPROC -f $MAKEFILE_NAME $MAKEFILE_TARGETS
- CFLAGS_EXTRA="$CFLAGS_EXTRA" LDFLAGS="$LDFLAGS";
- fi
-- if [[ "$CMAKE_CONFIG" != "" ]]; then
- cmake $CMAKE_OPTIONS -Dbuild_tests=ON -Denable_werror=ON
- -Werror=deprecated . &&
- cmake --build . --config $CMAKE_CONFIG;
- fi
-- if [[ "$CMAKE_CONFIG" != "" ]]; then
- ctest --build-config $CMAKE_CONFIG -V;
- fi
-- if [[ "$CC_FOR_CHECK" != "" ]]; then
- make -f $MAKEFILE_NAME $MAKEFILE_TARGETS_CHECK CC=$CC_FOR_CHECK
- CFLAGS_EXTRA="$CFLAGS_EXTRA";
- fi
-- if [ -f gctest.log ]; then cat gctest.log; fi
-- if [ -f disclaim_bench.log ]; then cat disclaim_bench.log; fi
-- if [ -f disclaim_test.log ]; then cat disclaim_test.log; fi
-- if [ -f disclaim_weakmap_test.log ]; then cat disclaim_weakmap_test.log; fi
-- if [ -f threadkey_test.log ]; then cat threadkey_test.log; fi
-- if [ -f threadleaktest.log ]; then cat threadleaktest.log; fi
-- if [[ "$CSA_CHECK" == true ]]; then
- ${CC} --analyze -Xanalyzer -analyzer-output=text -Werror
- -I include -I libatomic_ops/src $CFLAGS_EXTRA
- *.c *.cc cord/*.c cord/tests/cordtest.c cord/tests/de.c extra/gc.c
- extra/msvc_dbg.c extra/pcr_interface.c extra/real_malloc.c
- tests/*.c tests/*.cc tools/*.c;
- fi
-- if [[ "$CPPCHECK_ENABLE" != "" ]]; then
- if [[ "$CPPCHECK_OUT_FILTER" == "" ]]; then CPPCHECK_OUT_FILTER="c "; fi;
- set -o pipefail; ~/cppcheck/cppcheck --error-exitcode=2
- -U GC_API -D CPPCHECK -I include $CPPCHECK_ENABLE |
- grep --line-buffered "$CPPCHECK_OUT_FILTER";
- fi
-- if [[ "$TESTS_CUSTOM_RUN" == true ]]; then
- ASAN_OPTIONS="detect_leaks=1" UBSAN_OPTIONS="halt_on_error=1"
- make check-without-test-driver;
- fi
-
-after_success:
-- if [[ "$REPORT_COVERAGE" == true ]]; then
- lcov --capture --base-directory . --directory . --output-file coverage.info;
- lcov --remove coverage.info '/usr/*' 'cord/tests/*' 'libatomic_ops/*' 'tests/*' --output-file coverage.info;
- lcov --list coverage.info;
- coveralls-lcov --repo-token ${COVERALLS_TOKEN} coverage.info;
- bash <(curl -s https://codecov.io/bash);
- fi
-
-deploy:
- provider: releases
- edge: true
- file: gc-*.tar.gz
- file_glob: true
- on:
- condition: $MAKEFILE_TARGETS = distcheck
- repo: ivmai/bdwgc
- tags: true
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 21132ef0..ccfc8aed 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -655,7 +655,7 @@ if (build_tests)
# Compile some tests as C++ to test extern "C" in header files.
if (enable_cplusplus)
- set_source_files_properties(tests/leak_test.c tests/test.c
+ set_source_files_properties(tests/leak_test.c tests/test.c #??
PROPERTIES LANGUAGE CXX)
# To avoid "treating 'c' input as 'c++' when in C++ mode" Clang warning.
if (NOT (BORLAND OR MSVC OR WATCOM))