Skip to content

Commit 275c775

Browse files
Merge branch 'main' into chr_15077
2 parents 27c4120 + ef06677 commit 275c775

347 files changed

Lines changed: 29570 additions & 3726 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.
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Automated code review of pull requests using Claude
2+
#
3+
# A member/owner/collaborator requests a review by writing a PR comment
4+
# containing "@claude review".
5+
#
6+
# pull_request_target is not used because the Claude GitHub App token exchange
7+
# rejects OIDC tokens from that event (401 "Invalid OIDC token").
8+
#
9+
# issue_comment runs the workflow file from the default branch with access to
10+
# secrets. The PR code is never checked out or executed.
11+
name: claude-review
12+
13+
on:
14+
issue_comment:
15+
types: [created]
16+
17+
jobs:
18+
review:
19+
if: |
20+
github.event.issue.pull_request &&
21+
contains(github.event.comment.body, '@claude review') &&
22+
contains(fromJSON('["OWNER","MEMBER","COLLABORATOR"]'), github.event.comment.author_association)
23+
24+
runs-on: ubuntu-24.04
25+
26+
permissions:
27+
contents: read
28+
pull-requests: write
29+
id-token: write
30+
31+
steps:
32+
# checks out the base branch, not the PR head
33+
- uses: actions/checkout@v7
34+
with:
35+
fetch-depth: 1
36+
37+
- name: Claude review
38+
uses: anthropics/claude-code-action@v1
39+
with:
40+
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
41+
prompt: |
42+
REPO: ${{ github.repository }}
43+
PR NUMBER: ${{ github.event.issue.number }}
44+
45+
Review this pull request. Focus on correctness bugs, potential
46+
false positives/false negatives in checkers, performance problems
47+
and missing tests. Be concise and only report real issues.
48+
49+
Use `gh pr diff` to see the changes. Post specific issues as inline
50+
comments with `mcp__github_inline_comment__create_inline_comment`
51+
and post a short overall summary with `gh pr comment`.
52+
claude_args: |
53+
--allowedTools "mcp__github_inline_comment__create_inline_comment,Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*)"

‎.github/workflows/codeql-analysis.yml‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@ jobs:
4242
uses: github/codeql-action/init@v4
4343
with:
4444
languages: ${{ matrix.language }}
45+
config: |
46+
paths-ignore:
47+
- gui/manualtest
4548
4649
- name: Build cppcheck
4750
if: matrix.language == 'cpp'

‎.github/workflows/cppcheck-premium.yml‎

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ jobs:
3333
run: |
3434
premium_version=${{ inputs.premium_version }}
3535
if [ -z $premium_version ]; then
36-
premium_version=26.3.0
36+
premium_version=26.9.0
3737
#wget https://files.cppchecksolutions.com/devdrop/cppcheckpremium-$premium_version-amd64.tar.gz -O cppcheckpremium.tar.gz
38-
wget https://files.cppchecksolutions.com/$premium_version/ubuntu-24.04/cppcheckpremium-$premium_version-amd64.tar.gz -O cppcheckpremium.tar.gz
38+
wget https://files.cppchecksolutions.com/release/2026/$premium_version/ubuntu-24.04/cppcheckpremium-$premium_version-amd64.tar.gz -O cppcheckpremium.tar.gz
3939
else
4040
wget https://files.cppchecksolutions.com/$premium_version/ubuntu-24.04/cppcheckpremium-$premium_version-amd64.tar.gz -O cppcheckpremium.tar.gz
4141
fi
@@ -44,16 +44,18 @@ jobs:
4444
4545
- name: Generate a license file
4646
run: |
47-
echo cppcheck > cppcheck.lic
48-
echo 261231 >> cppcheck.lic
49-
echo 80000 >> cppcheck.lic
50-
echo 4b64673f03fb6230 >> cppcheck.lic
51-
echo path:lib >> cppcheck.lic
47+
echo 1 > cppcheck-premium-git.lic
48+
echo 271231 >> cppcheck-premium-git.lic
49+
echo 70c84e8412a64e58 >> cppcheck-premium-git.lic
50+
echo fbb65b6bd40de73b >> cppcheck-premium-git.lic
51+
echo autosar:1 >> cppcheck-premium-git.lic
52+
echo cert:1 >> cppcheck-premium-git.lic
53+
echo misra:1 >> cppcheck-premium-git.lic
54+
echo licensed-to:Cppcheck CI >> cppcheck-premium-git.lic
5255
5356
- name: Check
5457
run: |
55-
cppcheckpremium/premiumaddon --check-loc-license cppcheck.lic > cppcheck-premium-loc
56-
cppcheckpremium/cppcheck --premium=safety-off -j$(nproc) -D__GNUC__ -D__CPPCHECK__ --suppressions-list=cppcheckpremium-suppressions --platform=unix64 --enable=style --premium=misra-c++-2023 --premium=cert-c++-2016 --inline-suppr lib --error-exitcode=0 --output-format=sarif 2> results.sarif
58+
cppcheckpremium/cppcheck --premium-license-file=cppcheck-premium-git.lic --premium=safety-off -j$(nproc) -D__GNUC__ -D__CPPCHECK__ --suppressions-list=cppcheckpremium-suppressions --platform=unix64 --enable=style --premium=misra-c++-2023 --premium=cert-c++-2016 --inline-suppr lib --error-exitcode=0 --output-format=sarif 2> results.sarif
5759
5860
- name: Cat results
5961
run: |

‎AUTHORS‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ Ahti Legonkov
1111
Akhilesh Nema
1212
Akio Idehara
1313
Albert Aribaud
14+
Alvin Che-Chia Chang
1415
Aleksandr Pikalev
1516
Aleksey Palazhchenko
1617
Alexander Alekseev
@@ -85,6 +86,7 @@ Cary Converse
8586
Cary R
8687
Caspar Kielwein
8788
Changkyoon Kim
89+
Chencheng Mao
8890
Chris Lalancette
8991
Christian Ehrlicher
9092
Christian Franke

‎Makefile‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -615,7 +615,7 @@ $(libcppdir)/forwardanalyzer.o: lib/forwardanalyzer.cpp lib/analyzer.h lib/astut
615615
$(libcppdir)/fwdanalysis.o: lib/fwdanalysis.cpp lib/astutils.h lib/checkers.h lib/config.h lib/errortypes.h lib/fwdanalysis.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/smallvector.h lib/sourcelocation.h lib/standards.h lib/symboldatabase.h lib/templatesimplifier.h lib/token.h lib/utils.h lib/vfvalue.h
616616
$(CXX) ${INCLUDE_FOR_LIB} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $(libcppdir)/fwdanalysis.cpp
617617

618-
$(libcppdir)/importproject.o: lib/importproject.cpp externals/picojson/picojson.h externals/tinyxml2/tinyxml2.h lib/checkers.h lib/config.h lib/errortypes.h lib/filesettings.h lib/importproject.h lib/json.h lib/library.h lib/mathlib.h lib/path.h lib/pathmatch.h lib/platform.h lib/settings.h lib/smallvector.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/token.h lib/tokenlist.h lib/utils.h lib/vfvalue.h lib/xml.h
618+
$(libcppdir)/importproject.o: lib/importproject.cpp externals/picojson/picojson.h externals/tinyxml2/tinyxml2.h lib/checkers.h lib/config.h lib/filesettings.h lib/importproject.h lib/json.h lib/library.h lib/mathlib.h lib/path.h lib/pathmatch.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/utils.h lib/xml.h
619619
$(CXX) ${INCLUDE_FOR_LIB} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $(libcppdir)/importproject.cpp
620620

621621
$(libcppdir)/infer.o: lib/infer.cpp lib/calculate.h lib/config.h lib/errortypes.h lib/infer.h lib/mathlib.h lib/smallvector.h lib/templatesimplifier.h lib/token.h lib/utils.h lib/valueptr.h lib/vfvalue.h
@@ -819,7 +819,7 @@ test/testfunctions.o: test/testfunctions.cpp lib/check.h lib/checkers.h lib/chec
819819
test/testgarbage.o: test/testgarbage.cpp lib/check.h lib/checkers.h lib/checks.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/settings.h lib/smallvector.h lib/standards.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h
820820
$(CXX) ${INCLUDE_FOR_TEST} ${CFLAGS_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testgarbage.cpp
821821

822-
test/testimportproject.o: test/testimportproject.cpp externals/tinyxml2/tinyxml2.h lib/check.h lib/checkers.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/importproject.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/utils.h lib/xml.h test/fixture.h test/redirect.h
822+
test/testimportproject.o: test/testimportproject.cpp lib/check.h lib/checkers.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/importproject.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h test/redirect.h
823823
$(CXX) ${INCLUDE_FOR_TEST} ${CFLAGS_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testimportproject.cpp
824824

825825
test/testincompletestatement.o: test/testincompletestatement.cpp lib/check.h lib/checkers.h lib/checkimpl.h lib/checkother.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/settings.h lib/standards.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h

‎addons/threadsafety.py‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@
9191
'race:stdin',
9292
'race:stdout',
9393
'race:streams',
94-
'race:strerror',
9594
'race:strsignal',
9695
'race:strtok',
9796
'race:tmbuf',
@@ -261,7 +260,6 @@
261260
'siginterrupt',
262261
'sleep',
263262
'srand48',
264-
'strerror',
265263
'strsignal',
266264
'strtok',
267265
'tmpnam',

0 commit comments

Comments
 (0)