Remove cruft from build

No need to check compiler flags, clang >= 15 supports all of them.
This commit is contained in:
Robert Schulze 2023-03-17 13:27:48 +00:00
parent 1a84203c7f
commit f72a337074
No known key found for this signature in database
GPG Key ID: 26703B55FB13728A
25 changed files with 22 additions and 90 deletions

View File

@ -121,6 +121,7 @@ if (ENABLE_COLORED_BUILD AND CMAKE_GENERATOR STREQUAL "Ninja")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdiagnostics-color=always") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdiagnostics-color=always")
# ... such manually setting of flags can be removed once CMake supports a variable to # ... such manually setting of flags can be removed once CMake supports a variable to
# activate colors in *all* build systems: https://gitlab.kitware.com/cmake/cmake/-/issues/15502 # activate colors in *all* build systems: https://gitlab.kitware.com/cmake/cmake/-/issues/15502
# --> available since CMake 3.24: https://stackoverflow.com/a/73349744
endif () endif ()
include (cmake/check_flags.cmake) include (cmake/check_flags.cmake)
@ -134,24 +135,15 @@ if (COMPILER_CLANG)
set(COMPILER_FLAGS "${COMPILER_FLAGS} -gdwarf-aranges") set(COMPILER_FLAGS "${COMPILER_FLAGS} -gdwarf-aranges")
endif () endif ()
if (HAS_USE_CTOR_HOMING) # See https://blog.llvm.org/posts/2021-04-05-constructor-homing-for-debug-info/
# For more info see https://blog.llvm.org/posts/2021-04-05-constructor-homing-for-debug-info/ if (CMAKE_BUILD_TYPE_UC STREQUAL "DEBUG" OR CMAKE_BUILD_TYPE_UC STREQUAL "RELWITHDEBINFO")
if (CMAKE_BUILD_TYPE_UC STREQUAL "DEBUG" OR CMAKE_BUILD_TYPE_UC STREQUAL "RELWITHDEBINFO") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Xclang -fuse-ctor-homing")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Xclang -fuse-ctor-homing") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Xclang -fuse-ctor-homing")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Xclang -fuse-ctor-homing")
endif()
endif() endif()
no_warning(enum-constexpr-conversion) # breaks Protobuf in clang-16 no_warning(enum-constexpr-conversion) # breaks Protobuf in clang-16
endif () endif ()
# If compiler has support for -Wreserved-identifier. It is difficult to detect by clang version,
# because there are two different branches of clang: clang and AppleClang.
# (AppleClang is not supported by ClickHouse, but some developers have misfortune to use it).
if (HAS_RESERVED_IDENTIFIER)
add_compile_definitions (HAS_RESERVED_IDENTIFIER)
endif ()
option(ENABLE_TESTS "Provide unit_test_dbms target with Google.Test unit tests" ON) option(ENABLE_TESTS "Provide unit_test_dbms target with Google.Test unit tests" ON)
option(ENABLE_EXAMPLES "Build all example programs in 'examples' subdirectories" OFF) option(ENABLE_EXAMPLES "Build all example programs in 'examples' subdirectories" OFF)
option(ENABLE_BENCHMARKS "Build all benchmark programs in 'benchmarks' subdirectories" OFF) option(ENABLE_BENCHMARKS "Build all benchmark programs in 'benchmarks' subdirectories" OFF)
@ -311,6 +303,7 @@ set (CMAKE_C_STANDARD_REQUIRED ON)
if (COMPILER_GCC OR COMPILER_CLANG) if (COMPILER_GCC OR COMPILER_CLANG)
# Enable C++14 sized global deallocation functions. It should be enabled by setting -std=c++14 but I'm not sure. # Enable C++14 sized global deallocation functions. It should be enabled by setting -std=c++14 but I'm not sure.
# See https://reviews.llvm.org/D112921
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsized-deallocation") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsized-deallocation")
endif () endif ()
@ -329,11 +322,7 @@ if (ARCH_AMD64)
set(BRANCHES_WITHIN_32B_BOUNDARIES "-Wa,${BRANCHES_WITHIN_32B_BOUNDARIES}") set(BRANCHES_WITHIN_32B_BOUNDARIES "-Wa,${BRANCHES_WITHIN_32B_BOUNDARIES}")
endif() endif()
include(CheckCXXCompilerFlag) set(COMPILER_FLAGS "${COMPILER_FLAGS} ${BRANCHES_WITHIN_32B_BOUNDARIES}")
check_cxx_compiler_flag("${BRANCHES_WITHIN_32B_BOUNDARIES}" HAS_BRANCHES_WITHIN_32B_BOUNDARIES)
if (HAS_BRANCHES_WITHIN_32B_BOUNDARIES)
set(COMPILER_FLAGS "${COMPILER_FLAGS} ${BRANCHES_WITHIN_32B_BOUNDARIES}")
endif()
endif() endif()
if (COMPILER_GCC) if (COMPILER_GCC)
@ -445,6 +434,7 @@ option(WERROR "Enable -Werror compiler option" ON)
if (WERROR) if (WERROR)
# Don't pollute CMAKE_CXX_FLAGS with -Werror as it will break some CMake checks. # Don't pollute CMAKE_CXX_FLAGS with -Werror as it will break some CMake checks.
# Instead, adopt modern cmake usage requirement. # Instead, adopt modern cmake usage requirement.
# TODO: Set CMAKE_COMPILE_WARNING_AS_ERROR (cmake 3.24)
target_compile_options(global-group INTERFACE "-Werror") target_compile_options(global-group INTERFACE "-Werror")
endif () endif ()

View File

@ -1,6 +1,4 @@
#ifdef HAS_RESERVED_IDENTIFIER
#pragma clang diagnostic ignored "-Wreserved-identifier" #pragma clang diagnostic ignored "-Wreserved-identifier"
#endif
/// This code was based on the code by Fedor Korotkiy https://www.linkedin.com/in/fedor-korotkiy-659a1838/ /// This code was based on the code by Fedor Korotkiy https://www.linkedin.com/in/fedor-korotkiy-659a1838/

View File

@ -5,10 +5,8 @@ constexpr size_t KiB = 1024;
constexpr size_t MiB = 1024 * KiB; constexpr size_t MiB = 1024 * KiB;
constexpr size_t GiB = 1024 * MiB; constexpr size_t GiB = 1024 * MiB;
#ifdef HAS_RESERVED_IDENTIFIER #pragma clang diagnostic push
# pragma clang diagnostic push #pragma clang diagnostic ignored "-Wreserved-identifier"
# pragma clang diagnostic ignored "-Wreserved-identifier"
#endif
// NOLINTBEGIN(google-runtime-int) // NOLINTBEGIN(google-runtime-int)
constexpr size_t operator"" _KiB(unsigned long long val) { return val * KiB; } constexpr size_t operator"" _KiB(unsigned long long val) { return val * KiB; }
@ -16,6 +14,4 @@ constexpr size_t operator"" _MiB(unsigned long long val) { return val * MiB; }
constexpr size_t operator"" _GiB(unsigned long long val) { return val * GiB; } constexpr size_t operator"" _GiB(unsigned long long val) { return val * GiB; }
// NOLINTEND(google-runtime-int) // NOLINTEND(google-runtime-int)
#ifdef HAS_RESERVED_IDENTIFIER #pragma clang diagnostic pop
# pragma clang diagnostic pop
#endif

View File

@ -27,9 +27,7 @@
#define _PATH_TTY "/dev/tty" #define _PATH_TTY "/dev/tty"
#endif #endif
#ifdef HAS_RESERVED_IDENTIFIER
#pragma clang diagnostic ignored "-Wreserved-identifier" #pragma clang diagnostic ignored "-Wreserved-identifier"
#endif
#include <termios.h> #include <termios.h>
#include <signal.h> #include <signal.h>

View File

@ -1,7 +1,5 @@
include (CheckCXXCompilerFlag) include (CheckCXXCompilerFlag)
include (CheckCCompilerFlag) include (CheckCCompilerFlag)
check_cxx_compiler_flag("-Wreserved-identifier" HAS_RESERVED_IDENTIFIER) # Set/unset variable based on existence of compiler flags. Example:
check_cxx_compiler_flag("-Wsuggest-destructor-override" HAS_SUGGEST_DESTRUCTOR_OVERRIDE) # check_cxx_compiler_flag("-Wreserved-identifier" HAS_RESERVED_IDENTIFIER)
check_cxx_compiler_flag("-Wsuggest-override" HAS_SUGGEST_OVERRIDE)
check_cxx_compiler_flag("-Xclang -fuse-ctor-homing" HAS_USE_CTOR_HOMING)

View File

@ -12,9 +12,7 @@
#include <sys/types.h> #include <sys/types.h>
#ifdef HAS_RESERVED_IDENTIFIER
#pragma clang diagnostic ignored "-Wreserved-identifier" #pragma clang diagnostic ignored "-Wreserved-identifier"
#endif
namespace namespace
{ {

View File

@ -34,9 +34,7 @@
M(int, pthread_mutex_unlock, pthread_mutex_t * arg) M(int, pthread_mutex_unlock, pthread_mutex_t * arg)
#endif #endif
#ifdef HAS_RESERVED_IDENTIFIER
#pragma clang diagnostic ignored "-Wreserved-identifier" #pragma clang diagnostic ignored "-Wreserved-identifier"
#endif
namespace DB namespace DB
{ {

View File

@ -11,9 +11,7 @@
#if defined(__aarch64__) && defined(__ARM_NEON) #if defined(__aarch64__) && defined(__ARM_NEON)
# include <arm_neon.h> # include <arm_neon.h>
# ifdef HAS_RESERVED_IDENTIFIER # pragma clang diagnostic ignored "-Wreserved-identifier"
# pragma clang diagnostic ignored "-Wreserved-identifier"
# endif
#endif #endif

View File

@ -1,6 +1,4 @@
#ifdef HAS_RESERVED_IDENTIFIER
#pragma clang diagnostic ignored "-Wreserved-identifier" #pragma clang diagnostic ignored "-Wreserved-identifier"
#endif
#if defined (OS_LINUX) #if defined (OS_LINUX)
# include <sched.h> # include <sched.h>

View File

@ -502,9 +502,7 @@ inline bool memoryIsZeroSmallAllowOverflow15(const void * data, size_t size)
#elif defined(__aarch64__) && defined(__ARM_NEON) #elif defined(__aarch64__) && defined(__ARM_NEON)
# include <arm_neon.h> # include <arm_neon.h>
# ifdef HAS_RESERVED_IDENTIFIER # pragma clang diagnostic ignored "-Wreserved-identifier"
# pragma clang diagnostic ignored "-Wreserved-identifier"
# endif
inline uint64_t getNibbleMask(uint8x16_t res) inline uint64_t getNibbleMask(uint8x16_t res)
{ {

View File

@ -8,9 +8,7 @@
#if defined(__aarch64__) && defined(__ARM_NEON) #if defined(__aarch64__) && defined(__ARM_NEON)
# include <arm_neon.h> # include <arm_neon.h>
# ifdef HAS_RESERVED_IDENTIFIER # pragma clang diagnostic ignored "-Wreserved-identifier"
# pragma clang diagnostic ignored "-Wreserved-identifier"
# endif
#endif #endif
/** memcpy function could work suboptimal if all the following conditions are met: /** memcpy function could work suboptimal if all the following conditions are met:

View File

@ -1,6 +1,4 @@
#ifdef HAS_RESERVED_IDENTIFIER
#pragma clang diagnostic ignored "-Wreserved-identifier" #pragma clang diagnostic ignored "-Wreserved-identifier"
#endif
#include <Compression/ICompressionCodec.h> #include <Compression/ICompressionCodec.h>
#include <Compression/CompressionInfo.h> #include <Compression/CompressionInfo.h>

View File

@ -1,6 +1,4 @@
#ifdef HAS_RESERVED_IDENTIFIER
#pragma clang diagnostic ignored "-Wreserved-identifier" #pragma clang diagnostic ignored "-Wreserved-identifier"
#endif
#include <Compression/ICompressionCodec.h> #include <Compression/ICompressionCodec.h>
#include <Compression/CompressionInfo.h> #include <Compression/CompressionInfo.h>

View File

@ -1,6 +1,4 @@
#ifdef HAS_RESERVED_IDENTIFIER
#pragma clang diagnostic ignored "-Wreserved-identifier" #pragma clang diagnostic ignored "-Wreserved-identifier"
#endif
#include <Daemon/BaseDaemon.h> #include <Daemon/BaseDaemon.h>
#include <Daemon/SentryWriter.h> #include <Daemon/SentryWriter.h>

View File

@ -1,7 +1,5 @@
#include <functional> #include <functional>
#ifdef HAS_RESERVED_IDENTIFIER
#pragma clang diagnostic ignored "-Wreserved-identifier" #pragma clang diagnostic ignored "-Wreserved-identifier"
#endif
#include <Functions/FunctionsCodingIP.h> #include <Functions/FunctionsCodingIP.h>

View File

@ -4,14 +4,6 @@ add_headers_and_sources(clickhouse_functions_gatherutils .)
add_library(clickhouse_functions_gatherutils ${clickhouse_functions_gatherutils_sources} ${clickhouse_functions_gatherutils_headers}) add_library(clickhouse_functions_gatherutils ${clickhouse_functions_gatherutils_sources} ${clickhouse_functions_gatherutils_headers})
target_link_libraries(clickhouse_functions_gatherutils PRIVATE dbms) target_link_libraries(clickhouse_functions_gatherutils PRIVATE dbms)
if (HAS_SUGGEST_OVERRIDE)
target_compile_definitions(clickhouse_functions_gatherutils PUBLIC HAS_SUGGEST_OVERRIDE)
endif()
if (HAS_SUGGEST_DESTRUCTOR_OVERRIDE)
target_compile_definitions(clickhouse_functions_gatherutils PUBLIC HAS_SUGGEST_DESTRUCTOR_OVERRIDE)
endif()
if (OMIT_HEAVY_DEBUG_SYMBOLS) if (OMIT_HEAVY_DEBUG_SYMBOLS)
target_compile_options(clickhouse_functions_gatherutils PRIVATE "-g0") target_compile_options(clickhouse_functions_gatherutils PRIVATE "-g0")
endif() endif()

View File

@ -141,12 +141,8 @@ struct NumericArraySource : public ArraySourceImpl<NumericArraySource<T>>
/// The methods can be virtual or not depending on the template parameter. See IStringSource. /// The methods can be virtual or not depending on the template parameter. See IStringSource.
#pragma GCC diagnostic push #pragma GCC diagnostic push
#ifdef HAS_SUGGEST_OVERRIDE #pragma GCC diagnostic ignored "-Wsuggest-override"
# pragma GCC diagnostic ignored "-Wsuggest-override" #pragma GCC diagnostic ignored "-Wsuggest-destructor-override"
#endif
#ifdef HAS_SUGGEST_DESTRUCTOR_OVERRIDE
# pragma GCC diagnostic ignored "-Wsuggest-destructor-override"
#endif
template <typename Base> template <typename Base>
struct ConstSource : public Base struct ConstSource : public Base

View File

@ -13,9 +13,7 @@
#if defined(__aarch64__) && defined(__ARM_NEON) #if defined(__aarch64__) && defined(__ARM_NEON)
# include <arm_neon.h> # include <arm_neon.h>
# ifdef HAS_RESERVED_IDENTIFIER # pragma clang diagnostic ignored "-Wreserved-identifier"
# pragma clang diagnostic ignored "-Wreserved-identifier"
# endif
#endif #endif
namespace DB namespace DB

View File

@ -12,9 +12,7 @@
#include <Interpreters/Context.h> #include <Interpreters/Context.h>
#ifdef HAS_RESERVED_IDENTIFIER
#pragma clang diagnostic ignored "-Wreserved-identifier" #pragma clang diagnostic ignored "-Wreserved-identifier"
#endif
namespace ProfileEvents namespace ProfileEvents
{ {

View File

@ -18,9 +18,7 @@
#if defined(__aarch64__) && defined(__ARM_NEON) #if defined(__aarch64__) && defined(__ARM_NEON)
# include <arm_neon.h> # include <arm_neon.h>
# ifdef HAS_RESERVED_IDENTIFIER # pragma clang diagnostic ignored "-Wreserved-identifier"
# pragma clang diagnostic ignored "-Wreserved-identifier"
# endif
#endif #endif
namespace DB namespace DB

View File

@ -8,9 +8,7 @@
#if defined(__aarch64__) && defined(__ARM_NEON) #if defined(__aarch64__) && defined(__ARM_NEON)
# include <arm_neon.h> # include <arm_neon.h>
# ifdef HAS_RESERVED_IDENTIFIER # pragma clang diagnostic ignored "-Wreserved-identifier"
# pragma clang diagnostic ignored "-Wreserved-identifier"
# endif
#endif #endif
namespace DB namespace DB

View File

@ -1,6 +1,4 @@
#ifdef HAS_RESERVED_IDENTIFIER
#pragma clang diagnostic ignored "-Wreserved-identifier" #pragma clang diagnostic ignored "-Wreserved-identifier"
#endif
#include <cstring> #include <cstring>
#include <IO/BitHelpers.h> #include <IO/BitHelpers.h>

View File

@ -1,6 +1,4 @@
#ifdef HAS_RESERVED_IDENTIFIER
#pragma clang diagnostic ignored "-Wreserved-identifier" #pragma clang diagnostic ignored "-Wreserved-identifier"
#endif
#include "ArrowBufferedStreams.h" #include "ArrowBufferedStreams.h"

View File

@ -18,9 +18,7 @@
#if defined(__aarch64__) && defined(__ARM_NEON) #if defined(__aarch64__) && defined(__ARM_NEON)
# include <arm_neon.h> # include <arm_neon.h>
# ifdef HAS_RESERVED_IDENTIFIER # pragma clang diagnostic ignored "-Wreserved-identifier"
# pragma clang diagnostic ignored "-Wreserved-identifier"
# endif
#endif #endif
namespace DB namespace DB

View File

@ -1,6 +1,4 @@
#ifdef HAS_RESERVED_IDENTIFIER
#pragma clang diagnostic ignored "-Wreserved-identifier" #pragma clang diagnostic ignored "-Wreserved-identifier"
#endif
#include <memory> #include <memory>
#include <cstddef> #include <cstddef>