Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added some clang-tidy checks #9566

Merged
merged 59 commits into from
Mar 12, 2020
Merged

Added some clang-tidy checks #9566

merged 59 commits into from
Mar 12, 2020

Conversation

alexey-milovidov
Copy link
Member

@alexey-milovidov alexey-milovidov commented Mar 8, 2020

Changelog category (leave one):

  • Build/Testing/Packaging Improvement

Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Added integration with clang-tidy by default. See also #6044

@alexey-milovidov alexey-milovidov added pr-build Pull request with build/testing/packaging improvement no-docs-needed labels Mar 8, 2020
@alexey-milovidov
Copy link
Member Author

clang-tidy is activated successfully: https://proxy.sandbox.yandex-team.ru/1392983742/build.out.log

@alexey-milovidov
Copy link
Member Author

2020-03-10 20:23:01 /usr/bin/ccache /usr/bin/cmake -E __run_co_compile --tidy=/usr/bin/clang-tidy-8 --source=../dbms/programs/odbc-bridge/ColumnInfoHandler.cpp -- /usr/bin/clang++-8  -DAWS_SDK_VERSION_MAJOR=1 -DAWS_SDK_VERSION_MINOR=7 -DAWS_SDK_VERSION_PATCH=231 -DBOOST_SYSTEM_NO_DEPRECATED -DENABLE_CURL_CLIENT -DENABLE_OPENSSL_ENCRYPTION -DPOCO_STATIC -DPOCO_UNBUNDLED_ZLIB -DSTD_EXCEPTION_HAS_STACK_TRACE=1 -DUNALIGNED_OK -DUSE_REPLXX=1 -DWITH_GZFILEOP -DX86_64 -DZLIB_COMPAT -Idbms/includes/configs -I../base -isystem ../contrib/libcxx/include -isystem ../contrib/libcxxabi/include -isystem ../contrib/libunwind/include -isystem ../contrib/pdqsort -isystem ../contrib/llvm/llvm/include -isystem contrib/llvm/llvm/include -Idbms/src/Core/include -isystem ../contrib/libpcg-random/include -I../dbms/src -Idbms/src -isystem ../contrib/double-conversion -isystem ../contrib/aws/aws-cpp-sdk-s3/include -isystem ../contrib/aws/aws-cpp-sdk-core/include -isystem ../contrib/libhdfs3/include -isystem ../contrib/re2 -I../base/common/.. -Ibase/common/.. -I../contrib/replxx/include -isystem ../contrib/poco/Util/include -isystem ../contrib/poco/Foundation/include -I../contrib/zlib-ng -Icontrib/zlib-ng -isystem ../contrib/poco/XML/include -isystem ../contrib/poco/JSON/include -I../contrib/cityhash102/include -isystem ../contrib/boost -isystem ../contrib/ryu -isystem ../contrib/poco/Net/include -isystem contrib/re2_st -isystem ../contrib/croaring -I../contrib/aws-c-common/include -I../contrib/aws-c-event-stream/include -Icontrib/aws-s3-cmake/include -I../base/mysqlxx/include -I../contrib/mariadb-connector-c/include -Icontrib/mariadb-connector-c/include -I../base/daemon/include -I../base/loggers/loggers/.. -isystem ../contrib/poco/Data/ODBC/include -isystem ../contrib/poco/Data/include -isystem ../contrib/unixodbc-cmake/linux_x86_64 -isystem ../contrib/unixodbc/include -isystem ../contrib/libc-headers/x86_64-linux-gnu -isystem ../contrib/libc-headers -fdiagnostics-color=always -std=c++2a -fsized-deallocation  -gdwarf-aranges -pipe -msse4.1 -msse4.2 -mpopcnt -fprofile-instr-generate -fcoverage-mapping   -Wall -Wno-unused-command-line-argument  -Wnon-virtual-dtor -fno-omit-frame-pointer -Werror -Wextra -Wpedantic -Wno-gnu-anonymous-struct -Wno-nested-anon-types -Wno-vla-extension -Wno-zero-length-array -Wcomma -Wconditional-uninitialized -Wcovered-switch-default -Wdeprecated -Wembedded-directive -Wempty-init-stmt -Wextra-semi-stmt -Wextra-semi -Wgnu-case-range -Winconsistent-missing-destructor-override -Wnewline-eof -Wold-style-cast -Wrange-loop-analysis -Wredundant-parens -Wreserved-id-macro -Wshadow-field -Wshadow-uncaptured-local -Wshadow -Wstring-plus-int -Wundef -Wunreachable-code-return -Wunreachable-code -Wunused-exception-parameter -Wunused-macros -Wunused-member-function -Wzero-as-null-pointer-constant -Weverything -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-c99-extensions -Wno-conversion -Wno-deprecated-dynamic-exception-spec -Wno-disabled-macro-expansion -Wno-documentation-unknown-command -Wno-double-promotion -Wno-exit-time-destructors -Wno-float-equal -Wno-global-constructors -Wno-gnu-anonymous-struct -Wno-missing-prototypes -Wno-missing-variable-declarations -Wno-nested-anon-types -Wno-packed -Wno-padded -Wno-return-std-move-in-c++11 -Wno-shift-sign-overflow -Wno-sign-conversion -Wno-switch-enum -Wno-undefined-func-template -Wno-unused-template -Wno-vla-extension -Wno-vla -Wno-weak-template-vtables -Wno-weak-vtables -Wno-zero-length-array -g -O0 -g3 -ggdb3 -fno-inline  -D_LIBCPP_DEBUG=0   -D OS_LINUX -nostdinc++ -Wno-documentation -MD -MT dbms/programs/odbc-bridge/CMakeFiles/clickhouse-odbc-bridge-lib.dir/ColumnInfoHandler.cpp.o -MF dbms/programs/odbc-bridge/CMakeFiles/clickhouse-odbc-bridge-lib.dir/ColumnInfoHandler.cpp.o.d -o dbms/programs/odbc-bridge/CMakeFiles/clickhouse-odbc-bridge-lib.dir/ColumnInfoHandler.cpp.o -c ../dbms/programs/odbc-bridge/ColumnInfoHandler.cpp
2020-03-10 20:23:01 ../contrib/poco/Data/ODBC/include/Poco/Data/ODBC/Handle.h:66:39: error: use of undeclared identifier 'rc' [clang-diagnostic-error]
2020-03-10 20:23:01                         poco_assert_dbg (!Utility::isError(rc));
2020-03-10 20:23:01                                                            ^

False positive (there is no such line in preprocessed source), will do workaround.

@alexey-milovidov
Copy link
Member Author

clang-tidy will be enabled not by default, because it slows down build too much.
Instead, it will be activated inside one of CI builds (most likely for clang debug variant).

@alexey-milovidov
Copy link
Member Author

Also we can run build with ninja -k 1000 option to show all the errors in log.

@alexey-milovidov alexey-milovidov merged commit 05da1bf into master Mar 12, 2020
@alexey-milovidov alexey-milovidov deleted the clang-tidy branch March 12, 2020 10:33
@alexey-milovidov
Copy link
Member Author

Next: enable it in CI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
no-docs-needed pr-build Pull request with build/testing/packaging improvement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants