Skip to content

Commit

Permalink
gitlab-ci: add job to build with clang-analyzer
Browse files Browse the repository at this point in the history
Update the exceptions in `CTestCustom.cmake.in` to match this job's
needs.  Drop exceptions needed only by our previous nightly build.
  • Loading branch information
bradking committed Jun 3, 2021
1 parent adc38da commit da14f4e
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 18 deletions.
9 changes: 9 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,15 @@ lint:fedora34-sphinx:
CMAKE_CI_JOB_CONTINUOUS: "true"
CMAKE_CI_JOB_HELP: "true"

lint:fedora34-clang-analyzer:
extends:
- .fedora34_clang_analyzer
- .cmake_build_linux
- .linux_builder_tags_qt
- .run_automatically
variables:
CMAKE_CI_JOB_NIGHTLY: "true"

# Linux builds

build:centos6-x86_64:
Expand Down
1 change: 1 addition & 0 deletions .gitlab/ci/configure_fedora34_clang_analyzer.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora34_common.cmake")
2 changes: 2 additions & 0 deletions .gitlab/ci/env_fedora34_clang_analyzer.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
export CC=/usr/libexec/ccc-analyzer
export CXX=/usr/libexec/c++-analyzer
9 changes: 9 additions & 0 deletions .gitlab/os-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,15 @@
CTEST_NO_WARNINGS_ALLOWED: 1
CMake_SKIP_INSTALL: 1

.fedora34_clang_analyzer:
extends: .fedora34

variables:
CMAKE_CONFIGURATION: fedora34_clang_analyzer
CMAKE_BUILD_TYPE: Debug
CTEST_NO_WARNINGS_ALLOWED: 1
CMake_SKIP_INSTALL: 1

.fedora34_sphinx:
extends: .fedora34

Expand Down
29 changes: 11 additions & 18 deletions CTestCustom.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -84,27 +84,20 @@ list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION
"[0-9]+ Warning\\(s\\) detected" # SunPro

# clang-analyzer exceptions
"char_traits.h:.*: warning: Null pointer argument in call to string length function"
"stl_construct.h:.*: warning: Forming reference to null pointer"
".*stl_uninitialized.h:75:19: warning: Forming reference to null pointer.*"
".*stl_vector.h:.*: warning: Returning null reference.*"
"warning: Value stored to 'yymsg' is never read"
"warning: Value stored to 'yytoken' is never read"
"index_encoder.c.241.2. warning: Value stored to .out_start. is never read"
"index.c.*warning: Access to field.*results in a dereference of a null pointer.*loaded from variable.*"
"cmCommandArgumentLexer.cxx:[0-9]+:[0-9]+: warning: Call to 'realloc' has an allocation size of 0 bytes"
"cmDependsJavaLexer.cxx:[0-9]+:[0-9]+: warning: Call to 'realloc' has an allocation size of 0 bytes"
"cmExprLexer.cxx:[0-9]+:[0-9]+: warning: Call to 'realloc' has an allocation size of 0 bytes"
"cmListFileLexer.c:[0-9]+:[0-9]+: warning: Call to 'realloc' has an allocation size of 0 bytes"
"cmFortranLexer.cxx:[0-9]+:[0-9]+: warning: Call to 'realloc' has an allocation size of 0 bytes"
"testProcess.*warning: Dereference of null pointer .loaded from variable .invalidAddress.."
"cmListFileLexer.c:[0-9]+:[0-9]+: warning: Array subscript is undefined"
"jsoncpp/src/.*:[0-9]+:[0-9]+: warning: Value stored to .* is never read"
"liblzma/common/index_encoder.c:[0-9]+:[0-9]+: warning: Value stored to '[^']+' during its initialization is never read"
"liblzma/liblzma/common/index.c:[0-9]+:[0-9]+: warning: Access to field '[^']+' results in a dereference of a null pointer"
"liblzma/simple/x86.c:[0-9]+:[0-9]+: warning: The result of the '<<' expression is undefined"
"liblzma/common/index_encoder.c:[0-9]+:[0-9]+: warning: Value stored to .* during its initialization is never read"
"libuv/src/.*:[0-9]+:[0-9]+: warning: Dereference of null pointer"
"libuv/src/.*:[0-9]+:[0-9]+: warning: The left operand of '==' is a garbage value"
"librhash/librhash/.*:[0-9]+:[0-9]+: warning: The left operand of '[^']+' is a garbage value"
"libuv/src/.*:[0-9]+:[0-9]+: warning: 1st function call argument is an uninitialized value"
"libuv/src/.*:[0-9]+:[0-9]+: warning: Dereference of null pointer"
"libuv/src/.*:[0-9]+:[0-9]+: warning: The left operand of '[^']+' is a garbage value"
"nghttp2/lib/.*:[0-9]+:[0-9]+: warning: Access to field '[^']+' results in a dereference of a null pointer"
"nghttp2/lib/.*:[0-9]+:[0-9]+: warning: Dereference of null pointer"
"nghttp2/lib/.*:[0-9]+:[0-9]+: warning: Value stored to .* is never read"
"nghttp2/lib/.*:[0-9]+:[0-9]+: warning: Value stored to '[^']+' is never read"
"zstd/lib/.*:[0-9]+:[0-9]+: warning: Assigned value is garbage or undefined"
"zstd/lib/.*:[0-9]+:[0-9]+: warning: Dereference of null pointer"
)

if(NOT "@CMAKE_GENERATOR@" MATCHES "Xcode")
Expand Down

0 comments on commit da14f4e

Please sign in to comment.