From 12c1b3a8289654332c48a265e00bbe4638f17ca0 Mon Sep 17 00:00:00 2001 From: Emily Dolson Date: Thu, 24 Jul 2025 14:27:41 -0400 Subject: [PATCH 01/10] Test upgrading toolchain --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 5b5175d..7542cc4 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -10,7 +10,7 @@ on: jobs: build: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - name: Install C++ Dependencies From 8540e4182856f0cdb0f8d8c720795def76efe43e Mon Sep 17 00:00:00 2001 From: Emily Dolson Date: Thu, 24 Jul 2025 15:39:07 -0400 Subject: [PATCH 02/10] Update action version --- .github/workflows/tests.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 7542cc4..ea1878b 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -17,11 +17,13 @@ jobs: run: sudo apt install -y clang llvm-dev libclang-dev - name: Install Python Dependencies run: pip install --user codecov - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: make run: make force_cover_coverage - name: Run tests run: ./testing/tests.sh - name: Generate coverage run: llvm-profdata merge default.profraw -o default.profdata && llvm-cov show ./force_cover -instr-profile=default.profdata > coverage.txt - - uses: codecov/codecov-action@v1 + - uses: codecov/codecov-action@v5 + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} \ No newline at end of file From 731d89065356183cc49c49d06bec49c62d21664f Mon Sep 17 00:00:00 2001 From: Emily Dolson Date: Thu, 24 Jul 2025 15:49:55 -0400 Subject: [PATCH 03/10] Try adding -lclangSupport --- Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index fd61614..692b970 100644 --- a/Makefile +++ b/Makefile @@ -65,7 +65,7 @@ CXXFLAGS := -O0 -g -std=c++20 PLUGIN_CXXFLAGS := -fpic LLVM_CXXFLAGS := `$(LLVM_CONFIG) --cxxflags` -LLVM_LDFLAGS := `$(LLVM_CONFIG) --ldflags --libs --system-libs` +LLVM_LDFLAGS := `$(LLVM_CONFIG) --ldflags --libs --system-libs ` # These are required when compiling vs. a source distribution of Clang. For # binary distributions llvm-config --cxxflags gives the right path. @@ -99,6 +99,7 @@ CLANG_LIBS := \ -lclangStaticAnalyzerCheckers \ -lclangStaticAnalyzerCore \ -lclangSerialization \ + -lclangSupport \ -lclangToolingCore \ -lclangTooling \ -lclangFormat \ From fe0fd6eafa96e57aa6d1bca8efd3b9defb4afd34 Mon Sep 17 00:00:00 2001 From: Emily Dolson Date: Thu, 24 Jul 2025 16:31:28 -0400 Subject: [PATCH 04/10] Remove unecesary includes --- force_cover.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/force_cover.cpp b/force_cover.cpp index d80d5a5..60f520f 100644 --- a/force_cover.cpp +++ b/force_cover.cpp @@ -9,17 +9,17 @@ //------------------------------------------------------------------------------ #include -#include "clang/AST/AST.h" -#include "clang/AST/ASTConsumer.h" +// #include "clang/AST/AST.h" +// #include "clang/AST/ASTConsumer.h" #include "clang/ASTMatchers/ASTMatchFinder.h" -#include "clang/ASTMatchers/ASTMatchers.h" +// #include "clang/ASTMatchers/ASTMatchers.h" #include "clang/Frontend/CompilerInstance.h" -#include "clang/Frontend/FrontendActions.h" +// #include "clang/Frontend/FrontendActions.h" #include "clang/Rewrite/Core/Rewriter.h" #include "clang/Tooling/CommonOptionsParser.h" #include "clang/Tooling/Tooling.h" -#include "llvm/Support/raw_ostream.h" -#include "clang/AST/Decl.h" +// #include "llvm/Support/raw_ostream.h" +// #include "clang/AST/Decl.h" #include #include From bfefd9ff830d590d283001d1d6b569c79c831c26 Mon Sep 17 00:00:00 2001 From: Emily Dolson Date: Thu, 24 Jul 2025 16:42:29 -0400 Subject: [PATCH 05/10] Try using clang19 --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index ea1878b..8fbc107 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -14,7 +14,7 @@ jobs: steps: - name: Install C++ Dependencies - run: sudo apt install -y clang llvm-dev libclang-dev + run: sudo apt install -y clang-19 llvm-19-dev libclang-19-dev - name: Install Python Dependencies run: pip install --user codecov - uses: actions/checkout@v4 From 3c2f8ddff0d45d6d9c96483eb8e4025358530c50 Mon Sep 17 00:00:00 2001 From: Emily Dolson Date: Thu, 24 Jul 2025 16:46:45 -0400 Subject: [PATCH 06/10] specify compiler --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 8fbc107..7a7f733 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -19,7 +19,7 @@ jobs: run: pip install --user codecov - uses: actions/checkout@v4 - name: make - run: make force_cover_coverage + run: make force_cover_coverage CXX=clang++-19 LLVM_CONFIG=llvm-config-19 - name: Run tests run: ./testing/tests.sh - name: Generate coverage From 1ffb60a4521998d00ec640bb668c87e1a6a019b5 Mon Sep 17 00:00:00 2001 From: Emily Dolson Date: Thu, 24 Jul 2025 17:05:31 -0400 Subject: [PATCH 07/10] try add lclangToolingSyntax --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index 692b970..9a75ebf 100644 --- a/Makefile +++ b/Makefile @@ -103,6 +103,7 @@ CLANG_LIBS := \ -lclangToolingCore \ -lclangTooling \ -lclangFormat \ + -lclangToolingSyntax \ -Wl,--end-group From ea0ff68785b9da06f677d8604c6bfc5348b3019f Mon Sep 17 00:00:00 2001 From: Emily Dolson Date: Thu, 24 Jul 2025 17:08:42 -0400 Subject: [PATCH 08/10] output version info --- .github/workflows/tests.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 7a7f733..1e860bd 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -18,6 +18,10 @@ jobs: - name: Install Python Dependencies run: pip install --user codecov - uses: actions/checkout@v4 + - name: Check versions + run: | + clang++-19 --version + llvm-config-19 --cxxflags - name: make run: make force_cover_coverage CXX=clang++-19 LLVM_CONFIG=llvm-config-19 - name: Run tests From 308a734463700d70266699258414b423ecdf34de Mon Sep 17 00:00:00 2001 From: Emily Dolson Date: Thu, 24 Jul 2025 17:11:32 -0400 Subject: [PATCH 09/10] add clangAPInotes --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index 9a75ebf..5835e62 100644 --- a/Makefile +++ b/Makefile @@ -104,6 +104,7 @@ CLANG_LIBS := \ -lclangTooling \ -lclangFormat \ -lclangToolingSyntax \ + -lclangAPINotes \ -Wl,--end-group From 212e91d68fd58aea34f0a77fda48b739356c5dc4 Mon Sep 17 00:00:00 2001 From: Emily Dolson Date: Thu, 24 Jul 2025 17:14:06 -0400 Subject: [PATCH 10/10] Try going back to default clang --- .github/workflows/tests.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 1e860bd..ea1878b 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -14,16 +14,12 @@ jobs: steps: - name: Install C++ Dependencies - run: sudo apt install -y clang-19 llvm-19-dev libclang-19-dev + run: sudo apt install -y clang llvm-dev libclang-dev - name: Install Python Dependencies run: pip install --user codecov - uses: actions/checkout@v4 - - name: Check versions - run: | - clang++-19 --version - llvm-config-19 --cxxflags - name: make - run: make force_cover_coverage CXX=clang++-19 LLVM_CONFIG=llvm-config-19 + run: make force_cover_coverage - name: Run tests run: ./testing/tests.sh - name: Generate coverage