Skip to content

Commit 4d06246

Browse files
authored
Merge branch 'master' into clean-out-msan-suppression
2 parents 96881a1 + 7bed59e commit 4d06246

418 files changed

Lines changed: 10015 additions & 2882 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CMakeLists.txt

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,17 @@ if (ENABLE_FUZZING)
102102
set (ENABLE_PROTOBUF 1)
103103
endif()
104104

105+
option (ENABLE_WOBOQ_CODEBROWSER "Build for woboq codebrowser" OFF)
106+
107+
if (ENABLE_WOBOQ_CODEBROWSER)
108+
set (ENABLE_EMBEDDED_COMPILER 0)
109+
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-poison-system-directories")
110+
# woboq codebrowser uses clang tooling, and they could add default system
111+
# clang includes, and later clang will warn for those added by itself
112+
# includes.
113+
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-poison-system-directories")
114+
endif()
115+
105116
# Global libraries
106117
# See:
107118
# - default_libs.cmake
@@ -259,8 +270,8 @@ endif ()
259270
option (ENABLE_BUILD_PATH_MAPPING "Enable remapping of file source paths in debug info, predefined preprocessor macros, and __builtin_FILE(). It's used to generate reproducible builds. See https://reproducible-builds.org/docs/build-path" ${ENABLE_BUILD_PATH_MAPPING_DEFAULT})
260271

261272
if (ENABLE_BUILD_PATH_MAPPING)
262-
set (COMPILER_FLAGS "${COMPILER_FLAGS} -ffile-prefix-map=${CMAKE_SOURCE_DIR}=.")
263-
set (CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -ffile-prefix-map=${CMAKE_SOURCE_DIR}=.")
273+
set (COMPILER_FLAGS "${COMPILER_FLAGS} -ffile-prefix-map=${PROJECT_SOURCE_DIR}=.")
274+
set (CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -ffile-prefix-map=${PROJECT_SOURCE_DIR}=.")
264275
endif ()
265276

266277
option (ENABLE_BUILD_PROFILING "Enable profiling of build time" OFF)
@@ -557,7 +568,7 @@ if (NATIVE_BUILD_TARGETS
557568
)
558569
message (STATUS "Building native targets...")
559570

560-
set (NATIVE_BUILD_DIR "${CMAKE_BINARY_DIR}/native")
571+
set (NATIVE_BUILD_DIR "${PROJECT_BINARY_DIR}/native")
561572

562573
execute_process(
563574
COMMAND ${CMAKE_COMMAND} -E make_directory "${NATIVE_BUILD_DIR}"
@@ -571,7 +582,7 @@ if (NATIVE_BUILD_TARGETS
571582
# Avoid overriding .cargo/config.toml with native toolchain.
572583
"-DENABLE_RUST=OFF"
573584
"-DENABLE_CLICKHOUSE_SELF_EXTRACTING=${ENABLE_CLICKHOUSE_SELF_EXTRACTING}"
574-
${CMAKE_SOURCE_DIR}
585+
${PROJECT_SOURCE_DIR}
575586
WORKING_DIRECTORY "${NATIVE_BUILD_DIR}"
576587
COMMAND_ECHO STDOUT)
577588

base/base/StringRef.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#include <cassert>
44
#include <stdexcept> // for std::logic_error
55
#include <string>
6+
#include <type_traits>
67
#include <vector>
78
#include <functional>
89
#include <iosfwd>
@@ -326,5 +327,16 @@ namespace ZeroTraits
326327
inline void set(StringRef & x) { x.size = 0; }
327328
}
328329

330+
namespace PackedZeroTraits
331+
{
332+
template <typename Second, template <typename, typename> class PackedPairNoInit>
333+
inline bool check(const PackedPairNoInit<StringRef, Second> p)
334+
{ return 0 == p.key.size; }
335+
336+
template <typename Second, template <typename, typename> class PackedPairNoInit>
337+
inline void set(PackedPairNoInit<StringRef, Second> & p)
338+
{ p.key.size = 0; }
339+
}
340+
329341

330342
std::ostream & operator<<(std::ostream & os, const StringRef & str);

cmake/add_check.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ if (NOT TARGET check)
55
if (CMAKE_CONFIGURATION_TYPES)
66
add_custom_target (check COMMAND ${CMAKE_CTEST_COMMAND}
77
--force-new-ctest-process --output-on-failure --build-config "$<CONFIGURATION>"
8-
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
8+
WORKING_DIRECTORY ${PROJECT_BINARY_DIR})
99
else ()
1010
add_custom_target (check COMMAND ${CMAKE_CTEST_COMMAND}
1111
--force-new-ctest-process --output-on-failure
12-
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
12+
WORKING_DIRECTORY ${PROJECT_BINARY_DIR})
1313
endif ()
1414
endif ()
1515

cmake/git.cmake

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,37 +5,37 @@ if (Git_FOUND)
55
# Commit hash + whether the building workspace was dirty or not
66
execute_process(COMMAND
77
"${GIT_EXECUTABLE}" rev-parse HEAD
8-
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
8+
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
99
OUTPUT_VARIABLE GIT_HASH
1010
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
1111

1212
# Branch name
1313
execute_process(COMMAND
1414
"${GIT_EXECUTABLE}" rev-parse --abbrev-ref HEAD
15-
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
15+
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
1616
OUTPUT_VARIABLE GIT_BRANCH
1717
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
1818

1919
# Date of the commit
2020
SET(ENV{TZ} "UTC")
2121
execute_process(COMMAND
2222
"${GIT_EXECUTABLE}" log -1 --format=%ad --date=iso-local
23-
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
23+
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
2424
OUTPUT_VARIABLE GIT_DATE
2525
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
2626

2727
# Subject of the commit
2828
execute_process(COMMAND
2929
"${GIT_EXECUTABLE}" log -1 --format=%s
30-
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
30+
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
3131
OUTPUT_VARIABLE GIT_COMMIT_SUBJECT
3232
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
3333

3434
message(STATUS "Git HEAD commit hash: ${GIT_HASH}")
3535

3636
execute_process(
3737
COMMAND ${GIT_EXECUTABLE} status
38-
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_STRIP_TRAILING_WHITESPACE)
38+
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} OUTPUT_STRIP_TRAILING_WHITESPACE)
3939
else()
4040
message(STATUS "Git could not be found.")
4141
endif()

cmake/print_flags.cmake

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ message (STATUS "compiler CXX = ${CMAKE_CXX_COMPILER} ${FULL_CXX_FLAGS}")
77
message (STATUS "LINKER_FLAGS = ${FULL_EXE_LINKER_FLAGS}")
88

99
# Reproducible builds
10-
string (REPLACE "${CMAKE_SOURCE_DIR}" "." FULL_C_FLAGS_NORMALIZED "${FULL_C_FLAGS}")
11-
string (REPLACE "${CMAKE_SOURCE_DIR}" "." FULL_CXX_FLAGS_NORMALIZED "${FULL_CXX_FLAGS}")
12-
string (REPLACE "${CMAKE_SOURCE_DIR}" "." FULL_EXE_LINKER_FLAGS_NORMALIZED "${FULL_EXE_LINKER_FLAGS}")
10+
string (REPLACE "${PROJECT_SOURCE_DIR}" "." FULL_C_FLAGS_NORMALIZED "${FULL_C_FLAGS}")
11+
string (REPLACE "${PROJECT_SOURCE_DIR}" "." FULL_CXX_FLAGS_NORMALIZED "${FULL_CXX_FLAGS}")
12+
string (REPLACE "${PROJECT_SOURCE_DIR}" "." FULL_EXE_LINKER_FLAGS_NORMALIZED "${FULL_EXE_LINKER_FLAGS}")

cmake/sanitize.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ if (SANITIZE)
3939
elseif (SANITIZE STREQUAL "thread")
4040
set (TSAN_FLAGS "-fsanitize=thread")
4141
if (COMPILER_CLANG)
42-
set (TSAN_FLAGS "${TSAN_FLAGS} -fsanitize-blacklist=${CMAKE_SOURCE_DIR}/tests/tsan_suppressions.txt")
42+
set (TSAN_FLAGS "${TSAN_FLAGS} -fsanitize-blacklist=${PROJECT_SOURCE_DIR}/tests/tsan_suppressions.txt")
4343
endif()
4444

4545
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SAN_FLAGS} ${TSAN_FLAGS}")
@@ -57,7 +57,7 @@ if (SANITIZE)
5757
set(UBSAN_FLAGS "${UBSAN_FLAGS} -fno-sanitize=unsigned-integer-overflow")
5858
endif()
5959
if (COMPILER_CLANG)
60-
set (UBSAN_FLAGS "${UBSAN_FLAGS} -fsanitize-blacklist=${CMAKE_SOURCE_DIR}/tests/ubsan_suppressions.txt")
60+
set (UBSAN_FLAGS "${UBSAN_FLAGS} -fsanitize-blacklist=${PROJECT_SOURCE_DIR}/tests/ubsan_suppressions.txt")
6161
endif()
6262

6363
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SAN_FLAGS} ${UBSAN_FLAGS}")

cmake/version.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
include(${CMAKE_SOURCE_DIR}/cmake/autogenerated_versions.txt)
1+
include(${PROJECT_SOURCE_DIR}/cmake/autogenerated_versions.txt)
22

33
set(VERSION_EXTRA "" CACHE STRING "")
44
set(VERSION_TWEAK "" CACHE STRING "")

contrib/avro-cmake/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ if (NOT ENABLE_AVRO)
66
return()
77
endif()
88

9-
set(AVROCPP_ROOT_DIR "${CMAKE_SOURCE_DIR}/contrib/avro/lang/c++")
9+
set(AVROCPP_ROOT_DIR "${PROJECT_SOURCE_DIR}/contrib/avro/lang/c++")
1010
set(AVROCPP_INCLUDE_DIR "${AVROCPP_ROOT_DIR}/api")
1111
set(AVROCPP_SOURCE_DIR "${AVROCPP_ROOT_DIR}/impl")
1212

contrib/boost-cmake/CMakeLists.txt

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -103,11 +103,19 @@ set (SRCS_CONTEXT
103103
)
104104

105105
if (ARCH_AARCH64)
106-
set (SRCS_CONTEXT ${SRCS_CONTEXT}
107-
"${LIBRARY_DIR}/libs/context/src/asm/jump_arm64_aapcs_elf_gas.S"
108-
"${LIBRARY_DIR}/libs/context/src/asm/make_arm64_aapcs_elf_gas.S"
109-
"${LIBRARY_DIR}/libs/context/src/asm/ontop_arm64_aapcs_elf_gas.S"
110-
)
106+
if (OS_DARWIN)
107+
set (SRCS_CONTEXT ${SRCS_CONTEXT}
108+
"${LIBRARY_DIR}/libs/context/src/asm/jump_arm64_aapcs_macho_gas.S"
109+
"${LIBRARY_DIR}/libs/context/src/asm/make_arm64_aapcs_macho_gas.S"
110+
"${LIBRARY_DIR}/libs/context/src/asm/ontop_arm64_aapcs_macho_gas.S"
111+
)
112+
else()
113+
set (SRCS_CONTEXT ${SRCS_CONTEXT}
114+
"${LIBRARY_DIR}/libs/context/src/asm/jump_arm64_aapcs_elf_gas.S"
115+
"${LIBRARY_DIR}/libs/context/src/asm/make_arm64_aapcs_elf_gas.S"
116+
"${LIBRARY_DIR}/libs/context/src/asm/ontop_arm64_aapcs_elf_gas.S"
117+
)
118+
endif()
111119
elseif (ARCH_PPC64LE)
112120
set (SRCS_CONTEXT ${SRCS_CONTEXT}
113121
"${LIBRARY_DIR}/libs/context/src/asm/jump_ppc64_sysv_elf_gas.S"

contrib/cassandra-cmake/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ endif()
1818
# Need to use C++17 since the compilation is not possible with C++20 currently.
1919
set (CMAKE_CXX_STANDARD 17)
2020

21-
set(CASS_ROOT_DIR ${CMAKE_SOURCE_DIR}/contrib/cassandra)
21+
set(CASS_ROOT_DIR ${PROJECT_SOURCE_DIR}/contrib/cassandra)
2222
set(CASS_SRC_DIR "${CASS_ROOT_DIR}/src")
2323
set(CASS_INCLUDE_DIR "${CASS_ROOT_DIR}/include")
2424

0 commit comments

Comments
 (0)