Skip to content

Commit 250e849

Browse files
committed
use libc++ in conjunction with Clang in CI
1 parent 85583d9 commit 250e849

4 files changed

Lines changed: 18 additions & 5 deletions

File tree

.github/workflows/asan.yml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ jobs:
5555
wget https://apt.llvm.org/llvm.sh
5656
chmod +x llvm.sh
5757
sudo ./llvm.sh 22
58+
sudo apt-get install -y libc++-22-dev
5859
5960
- name: Install Qt ${{ env.QT_VERSION }}
6061
uses: jurplel/install-qt-action@v4
@@ -72,9 +73,19 @@ jobs:
7273
python3 -m pip install pytest-xdist
7374
python3 -m pip install psutil
7475
76+
# TODO: enable libc++
77+
# currently fails to link the GUI tests
78+
#
79+
# /usr/bin/ld: CMakeFiles/test-projectfile.dir/__/__/projectfile.cpp.o: in function `ProjectFile::readSuppressions(QXmlStreamReader&)':
80+
# /home/runner/work/cppcheck/cppcheck/gui/projectfile.cpp:628: undefined reference to `QString::toStdString() const'
81+
# /usr/bin/ld: /home/runner/work/cppcheck/cppcheck/gui/projectfile.cpp:632: undefined reference to `QString::toStdString() const'
82+
# /usr/bin/ld: /home/runner/work/cppcheck/cppcheck/gui/projectfile.cpp:637: undefined reference to `QString::toStdString() const'
83+
# /usr/bin/ld: CMakeFiles/test-projectfile.dir/__/__/projectfile.cpp.o: in function `ProjectFile::getCheckingSuppressions() const':
84+
# /home/runner/work/cppcheck/cppcheck/gui/projectfile.cpp:778: undefined reference to `QString::toStdString() const'
85+
# clang++-22: error: linker command failed with exit code 1 (use -v to see invocation)
7586
- name: CMake
7687
run: |
77-
cmake -S . -B cmake.output -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DWITH_QCHART=On -DBUILD_TRIAGE=On -DUSE_MATCHCOMPILER=Verify -DANALYZE_ADDRESS=On -DENABLE_CHECK_INTERNAL=On -DUSE_BOOST=On -DCPPCHK_GLIBCXX_DEBUG=Off -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=On -DDISABLE_DMAKE=On -DFILESDIR= -DCMAKE_COMPILE_WARNING_AS_ERROR=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
88+
cmake -S . -B cmake.output -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DWITH_QCHART=On -DBUILD_TRIAGE=On -DUSE_MATCHCOMPILER=Verify -DANALYZE_ADDRESS=On -DENABLE_CHECK_INTERNAL=On -DUSE_BOOST=On -DCPPCHK_GLIBCXX_DEBUG=Off -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=On -DDISABLE_DMAKE=On -DFILESDIR= -DCMAKE_COMPILE_WARNING_AS_ERROR=On -DUSE_LIBCXX=Off -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
7889
env:
7990
CC: clang-22
8091
CXX: clang++-22

.github/workflows/clang-tidy.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444
wget https://apt.llvm.org/llvm.sh
4545
chmod +x llvm.sh
4646
sudo ./llvm.sh 22
47-
sudo apt-get install -y clang-tidy-22
47+
sudo apt-get install -y libc++-22-dev clang-tidy-22
4848
4949
- name: Install Qt ${{ env.QT_VERSION }}
5050
uses: jurplel/install-qt-action@v4
@@ -61,7 +61,7 @@ jobs:
6161
6262
- name: Prepare CMake
6363
run: |
64-
cmake -S . -B cmake.output -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DWITH_QCHART=On -DBUILD_TRIAGE=On -DENABLE_CHECK_INTERNAL=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=On -DDISABLE_DMAKE=On -DCPPCHK_GLIBCXX_DEBUG=Off -DWARNINGS_ARE_ERRORS=On
64+
cmake -S . -B cmake.output -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DWITH_QCHART=On -DBUILD_TRIAGE=On -DENABLE_CHECK_INTERNAL=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=On -DDISABLE_DMAKE=On -DCPPCHK_GLIBCXX_DEBUG=Off -DWARNINGS_ARE_ERRORS=On -DUSE_LIBCXX=On
6565
env:
6666
CC: clang-22
6767
CXX: clang++-22

.github/workflows/tsan.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ jobs:
5454
wget https://apt.llvm.org/llvm.sh
5555
chmod +x llvm.sh
5656
sudo ./llvm.sh 22
57+
sudo apt-get install -y libc++-22-dev
5758
5859
- name: Install Qt ${{ env.QT_VERSION }}
5960
uses: jurplel/install-qt-action@v4
@@ -73,7 +74,7 @@ jobs:
7374
7475
- name: CMake
7576
run: |
76-
cmake -S . -B cmake.output -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DWITH_QCHART=On -DBUILD_TRIAGE=On -DUSE_MATCHCOMPILER=Verify -DANALYZE_THREAD=On -DENABLE_CHECK_INTERNAL=On -DUSE_BOOST=On -DCPPCHK_GLIBCXX_DEBUG=Off -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=Off -DDISABLE_DMAKE=On -DFILESDIR= -DCMAKE_COMPILE_WARNING_AS_ERROR=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
77+
cmake -S . -B cmake.output -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DWITH_QCHART=On -DBUILD_TRIAGE=On -DUSE_MATCHCOMPILER=Verify -DANALYZE_THREAD=On -DENABLE_CHECK_INTERNAL=On -DUSE_BOOST=On -DCPPCHK_GLIBCXX_DEBUG=Off -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=Off -DDISABLE_DMAKE=On -DFILESDIR= -DCMAKE_COMPILE_WARNING_AS_ERROR=On-DUSE_LIBCXX=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
7778
env:
7879
CC: clang-22
7980
CXX: clang++-22

.github/workflows/ubsan.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ jobs:
5454
wget https://apt.llvm.org/llvm.sh
5555
chmod +x llvm.sh
5656
sudo ./llvm.sh 22
57+
sudo apt-get install -y libc++-22-dev
5758
5859
- name: Install Qt ${{ env.QT_VERSION }}
5960
uses: jurplel/install-qt-action@v4
@@ -73,7 +74,7 @@ jobs:
7374
7475
- name: CMake
7576
run: |
76-
cmake -S . -B cmake.output -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DWITH_QCHART=On -DBUILD_TRIAGE=On -DUSE_MATCHCOMPILER=Verify -DANALYZE_UNDEFINED=On -DENABLE_CHECK_INTERNAL=On -DUSE_BOOST=On -DCPPCHK_GLIBCXX_DEBUG=Off -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=On -DDISABLE_DMAKE=On -DFILESDIR= -DCMAKE_COMPILE_WARNING_AS_ERROR=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
77+
cmake -S . -B cmake.output -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DWITH_QCHART=On -DBUILD_TRIAGE=On -DUSE_MATCHCOMPILER=Verify -DANALYZE_UNDEFINED=On -DENABLE_CHECK_INTERNAL=On -DUSE_BOOST=On -DCPPCHK_GLIBCXX_DEBUG=Off -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=On -DDISABLE_DMAKE=On -DFILESDIR= -DCMAKE_COMPILE_WARNING_AS_ERROR=On-DUSE_LIBCXX=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
7778
env:
7879
CC: clang-22
7980
CXX: clang++-22

0 commit comments

Comments
 (0)