Skip to content

Commit 89f21db

Browse files
authored
Merge pull request ceph#61740 from Matan-B/wip-matanb-clang-16
script/run-make: clang 14->19 Reviewed-by: Ronen Friedman <[email protected]> Reviewed-by: Adam Emerson <[email protected]>
2 parents bb8114f + 0ceefb4 commit 89f21db

File tree

8 files changed

+30
-5
lines changed

8 files changed

+30
-5
lines changed

cmake/modules/BuildISAL.cmake

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ function(build_isal)
1717
# because it messes with the internal install paths of arrow's bundled deps
1818
set(NO_DESTDIR_COMMAND ${CMAKE_COMMAND} -E env --unset=DESTDIR)
1919

20+
if(HAVE_ARMV8_SIMD)
21+
list(APPEND configure_cmd CFLAGS=-no-integrated-as)
22+
endif()
23+
2024
include(ExternalProject)
2125
ExternalProject_Add(isal_ext
2226
SOURCE_DIR "${PROJECT_SOURCE_DIR}/src/isa-l"

cmake/modules/BuildQATzip.cmake

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,21 @@ function(build_qatzip)
1111
set(configure_cmd env CC=${CMAKE_C_COMPILER} ./configure --prefix=${QATzip_INSTALL_DIR})
1212
# build a static library with -fPIC that we can link into crypto/compressor plugins
1313
list(APPEND configure_cmd --with-pic --enable-static --disable-shared)
14+
15+
set(CFLAGS "-Wno-error=strict-prototypes -Wno-error=unused-but-set-variable")
1416
if(QATDRV_INCLUDE_DIR)
1517
list(APPEND configure_cmd --with-ICP_ROOT=${QATDRV_INCLUDE_DIR})
1618
endif()
1719
if(QAT_INCLUDE_DIR)
18-
list(APPEND configure_cmd CFLAGS=-I${QAT_INCLUDE_DIR})
20+
list(APPEND CFLAGS -I${QAT_INCLUDE_DIR})
1921
endif()
2022
if(QAT_LIBRARY_DIR)
2123
list(APPEND configure_cmd LDFLAGS=-L${QAT_LIBRARY_DIR})
2224
endif()
2325

26+
list(JOIN CFLAGS " " CFLAGS)
27+
list(APPEND configure_cmd CFLAGS=${CFLAGS})
28+
2429
# clear the DESTDIR environment variable from debian/rules,
2530
# because it messes with the internal install paths of arrow's bundled deps
2631
set(NO_DESTDIR_COMMAND ${CMAKE_COMMAND} -E env --unset=DESTDIR)

src/CMakeLists.txt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,8 +151,8 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL GNU)
151151
endif()
152152
endif()
153153
elseif(CMAKE_CXX_COMPILER_ID STREQUAL Clang)
154-
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12) # require >= clang-12
155-
message(FATAL_ERROR "C++20 support requires a minimum Clang version of 12.")
154+
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16)
155+
message(FATAL_ERROR "C++20 support requires a minimum Clang version of 16.")
156156
endif()
157157
string(APPEND CMAKE_EXE_LINKER_FLAGS " ${CMAKE_EXE_EXPORTS_C_FLAG}")
158158
string(APPEND CMAKE_LINKER_FLAGS " -rdynamic -export-dynamic ${CMAKE_EXE_EXPORTS_C_FLAG}")
@@ -169,6 +169,10 @@ elseif(CMAKE_CXX_COMPILER_ID STREQUAL Clang)
169169
-Wno-missing-braces
170170
-Wno-parentheses
171171
-Wno-deprecated-register)
172+
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 18)
173+
add_compile_options(
174+
-Wno-vla-cxx-extension)
175+
endif()
172176
if(FREEBSD)
173177
# Need to use the GNU binutils linker to get versioning right.
174178
string(APPEND CMAKE_EXE_LINKER_FLAGS " -fuse-ld=/usr/local/bin/ld -Wno-unused-command-line-argument")

src/erasure-code/jerasure/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ set(jerasure_srcs
8080
jerasure/src/reed_sol.c
8181
jerasure_init.cc)
8282
add_library(jerasure_objs OBJECT ${jerasure_srcs})
83+
target_compile_options(jerasure_objs PRIVATE "-Wno-unused-but-set-variable")
8384

8485
set(ec_jerasure_objs
8586
$<TARGET_OBJECTS:gf-complete_objs>

src/libcephfs_proxy/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@ set(libcephfs_proxy_srcs libcephfs_proxy.c ${proxy_common_srcs})
44

55
add_executable(libcephfsd ${libcephfsd_srcs})
66
add_library(cephfs_proxy ${CEPH_SHARED} ${libcephfs_proxy_srcs})
7+
target_compile_options(cephfs_proxy PRIVATE "-Wno-gnu-pointer-arith")
78

89
target_link_libraries(libcephfsd cephfs ${CRYPTO_LIBS})
10+
target_compile_options(libcephfsd PRIVATE "-Wno-gnu-pointer-arith")
911

1012
if(ENABLE_SHARED)
1113
set_target_properties(cephfs_proxy PROPERTIES

src/script/lib-build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ function discover_compiler() {
7272
local cxx_compiler=g++
7373
local c_compiler=gcc
7474
# ubuntu/debian ci builds prefer clang
75-
for i in {14..12}; do
75+
for i in {19..12}; do
7676
if type -t "clang-$i" > /dev/null; then
7777
cxx_compiler="clang++-$i"
7878
c_compiler="clang-$i"

src/script/run-make.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,16 @@ function prepare() {
5252
local which_pkg="which"
5353
if command -v apt-get > /dev/null 2>&1 ; then
5454
which_pkg="debianutils"
55+
56+
if in_jenkins; then
57+
if ! type clang-19 > /dev/null 2>&1 ; then
58+
ci_debug "Getting clang-19"
59+
wget https://download.ceph.com/qa/llvm.sh
60+
chmod +x llvm.sh
61+
$DRY_RUN sudo ./llvm.sh 19
62+
rm llvm.sh
63+
fi
64+
fi
5565
fi
5666

5767
if test -f ./install-deps.sh ; then

src/test/objectstore/allocsim/ops_replayer.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
#include <string>
2222
#include <iostream>
2323
#include <vector>
24-
#include <format>
2524

2625
#include <fmt/format.h>
2726

0 commit comments

Comments
 (0)