From ae6159552b8d223638346ccd32ca1fd86a2f4768 Mon Sep 17 00:00:00 2001 From: Ivan Maidanski Date: Thu, 23 Dec 2021 08:58:39 +0300 Subject: DRAFT 503 - debug cmake release with NO_MSGBOX_ON_ERROR and enable-cplusplus --- .appveyor.yml | 79 +----- .travis.yml | 833 --------------------------------------------------------- CMakeLists.txt | 2 +- 3 files changed, 10 insertions(+), 904 deletions(-) delete mode 100644 .travis.yml 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)) -- cgit v1.2.1