diff --git a/.clang-tidy b/.clang-tidy index af07d7cf245290dd15d4dcc62de2a04756f9c483..5738808c019b7457d72a14c0644f8b32bca66536 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -1,5 +1,5 @@ --- -Checks: '-*,modernize-*,-modernize-use-auto,-modernize-loop-convert,-modernize-pass-by-value,-modernize-raw-string-literal,-modernize-use-using,-modernize-avoid-bind,-modernize-return-braced-init-list,-modernize-deprecated-headers,-modernize-use-transparent-functors,-modernize-redundant-void-arg' +Checks: '-*,modernize-*,-modernize-use-auto,-modernize-loop-convert,-modernize-pass-by-value,-modernize-raw-string-literal,-modernize-use-using,-modernize-avoid-bind,-modernize-return-braced-init-list,-modernize-use-transparent-functors,-modernize-redundant-void-arg' WarningsAsErrors: '*' HeaderFilterRegex: '' AnalyzeTemporaryDtors: false diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d78d00a12a9535420bf293c6bb2b4a4851a08cae..f253211f12d203f5082f44f9d7d2ca1968b5dbe9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1151,6 +1151,7 @@ clang-tidy: - cd $CI_PROJECT_DIR/build - cmake .. -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DWALBERLA_BUFFER_DEBUG=ON -DWALBERLA_BUILD_TESTS=ON -DWALBERLA_BUILD_BENCHMARKS=ON -DWALBERLA_BUILD_TUTORIALS=ON -DWALBERLA_BUILD_TOOLS=ON -DWALBERLA_BUILD_WITH_MPI=ON -DWALBERLA_BUILD_WITH_OPENMP=ON -DCMAKE_BUILD_TYPE=Debug -DWALBERLA_DOUBLE_ACCURACY=ON - cmake . -LAH + - utilities/filterCompileCommands.py compile_commands.json - run-clang-tidy.py -quiet | tee clang-tidy-output.txt artifacts: paths: diff --git a/CMakeLists.txt b/CMakeLists.txt index 08496e0736789d7c60e1d6be97fe66ecf7a44356..869cb9f0144ac8830e2d84bdfec4a7fb0b1bdbae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1335,4 +1335,4 @@ waLBerla_export() ############################################################################################################################ waLBerla_link_files_to_builddir( .clang-tidy ) -waLBerla_link_files_to_builddir( run-clang-tidy.py ) +add_subdirectory( utilities ) diff --git a/src/core/debug/PrintStacktrace.cpp b/src/core/debug/PrintStacktrace.cpp index 22b216b5548e6a6c9cb7e15c50cbafe91514f1cb..b4a8e6888c86784861f9985a358345011a5c300b 100644 --- a/src/core/debug/PrintStacktrace.cpp +++ b/src/core/debug/PrintStacktrace.cpp @@ -39,7 +39,7 @@ void printStacktrace() #if defined(WALBERLA_CXX_COMPILER_IS_GNU) || defined(WALBERLA_CXX_COMPILER_IS_INTEL) || defined( WALBERLA_CXX_COMPILER_IS_CLANG) #include <execinfo.h> -#include <stdlib.h> +#include <cstdlib> #include <string> namespace walberla { diff --git a/tests/core/mpi/BroadcastTest.cpp b/tests/core/mpi/BroadcastTest.cpp index 9f502ae0c4b40aad6178911da4f8afacd6a1c4f9..2724851cf5a9ea31fb95253b6b9a77fd1b942aa8 100644 --- a/tests/core/mpi/BroadcastTest.cpp +++ b/tests/core/mpi/BroadcastTest.cpp @@ -26,7 +26,7 @@ #include "core/mpi/MPIManager.h" #include <limits> -#include <stdlib.h> +#include <cstdlib> #include <vector> diff --git a/utilities/CMakeLists.txt b/utilities/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..db4ad89267a86e777e93ffe895423a4a92527656 --- /dev/null +++ b/utilities/CMakeLists.txt @@ -0,0 +1 @@ +waLBerla_link_files_to_builddir( filterCompileCommands.py ) diff --git a/utilities/filterCompileCommands.py b/utilities/filterCompileCommands.py new file mode 100755 index 0000000000000000000000000000000000000000..d39a7fac80e997b9cca66ce47a6b2e14eeaa9286 --- /dev/null +++ b/utilities/filterCompileCommands.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python3 + +import json +import sys + +def compileCommandSelector(x): + return not ("extern" in x["file"]) + +if __name__ == "__main__": + if (len(sys.argv) != 2): + print("usage: ./filterCompileCommands.py compile_commands.json") + exit(-1) + + filename = sys.argv[1] + print("loading compile commands file: {}".format(filename)) + + fin = open(filename, "r") + cc = json.load(fin) + fin.close() + + print("compile commands read: {}".format(len(cc))) + + cc_filtered = list( filter(compileCommandSelector, cc) ) + + print("compile commands filtered: {}".format(len(cc_filtered))) + + fout = open(filename, "w") + json.dump(cc_filtered, fout) + fout.close()