- CONF_STATIC=--disable-static
CONF_THREADS=--disable-threads
CFLAGS_EXTRA="-O3 -march=native"
+ - CSA_CHECK=true
matrix:
exclude:
env: CONF_GC_DEBUG=--disable-gc-debug
- compiler: gcc
env: CONF_LARGE_CONFIG=--enable-large-config
+ - compiler: clang
+ env: CSA_CHECK=true
sudo: required
- ./autogen.sh
script:
- - ./configure $CONF_ASSERTIONS $CONF_CPP $CONF_GCOV $CONF_GC_DEBUG
+ - if [[ "$CSA_CHECK" != true ]]; then
+ ./configure $CONF_ASSERTIONS $CONF_CPP $CONF_GCOV $CONF_GC_DEBUG
$CONF_LARGE_CONFIG $CONF_M_UNMAP $CONF_SHARED
- $CONF_SINGLE_OBJ $CONF_STATIC $CONF_THREADS --enable-werror
- - make -j check CFLAGS_EXTRA="$CFLAGS_EXTRA $CFLAGS_EXTRA_M"
+ $CONF_SINGLE_OBJ $CONF_STATIC $CONF_THREADS --enable-werror;
+ - if [[ "$CSA_CHECK" != true ]]; then
+ make -j check CFLAGS_EXTRA="$CFLAGS_EXTRA $CFLAGS_EXTRA_M";
+ fi
+ - if [[ "$CSA_CHECK" == true ]]; then
+ clang --analyze -Xanalyzer -analyzer-output=text
+ -m32 -Werror -I include -I libatomic_ops/src
+ *.c *.cc cord/*.c cord/tests/cordtest.c cord/tests/de.c extra/gc.c
+ extra/msvc_dbg.c tests/*.c tests/*.cc tools/*.c &&
+ clang --analyze -Xanalyzer -analyzer-output=text
+ -Werror -I include -I libatomic_ops/src
+ -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 -DK EEP_BACK_PTRS -D MAKE_BACK_GRAPH
+ -D PARALLEL_MARK -D PRINT_BLACK_LIST -D THREAD_LOCAL_ALLOC
+ -D USE_MMAP -D USE_MUNMAP
+ *.c *.cc cord/*.c cord/tests/cordtest.c cord/tests/de.c extra/gc.c
+ extra/msvc_dbg.c tests/*.c tests/*.cc tools/*.c;
+ fi
after_success:
- if [[ "$CONF_GCOV" == --en* ]]; then