Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
e28b543
[clang][AST] Add comment clarifying GNU inline visibility rules
aka76bm Sep 23, 2025
cc4b9e8
fix(codeql): add swift build step to github actions
aka76bm Sep 24, 2025
91477dd
Merge branch 'main' of https://github.com/aka76bm/llvm-project
aka76bm Sep 24, 2025
0400e8c
Potential fix for code scanning alert no. 2: Code injection
aka76bm Sep 24, 2025
36cdb33
Merge pull request #2 from aka76bm/code-injection--2
aka76bm Sep 24, 2025
b52882c
fix(deps): update vulnerable python and node.js packages
aka76bm Sep 24, 2025
df89001
Merge branch 'main' of https://github.com/aka76bm/llvm-project
aka76bm Sep 24, 2025
3eb59e6
Bump tmp
dependabot[bot] Sep 24, 2025
e9619b8
Merge pull request #4 from aka76bm/dependabot/npm_and_yarn/mlir/utils…
aka76bm Sep 24, 2025
fbf7bc0
Merge branch 'llvm:main' into main
aka76bm Sep 24, 2025
bdf2b95
fix(deps): update remaining vulnerable python packages
aka76bm Sep 24, 2025
fa5acbd
Merge branch 'main' of https://github.com/aka76bm/llvm-project
aka76bm Sep 24, 2025
653539c
fix(deps): update remaining vulnerable node.js packages
aka76bm Sep 24, 2025
0244e99
Merge branch 'llvm:main' into main
aka76bm Sep 24, 2025
f228221
Create dependabot.yml
aka76bm Sep 24, 2025
d2db159
Merge pull request #5 from start-export-MA/main
aka76bm Sep 24, 2025
8cc34df
fix(deps): update pygithub and regenerate requirements.txt files
aka76bm Sep 24, 2025
bbd8d8b
Merge branch 'main' of https://github.com/aka76bm/llvm-project
aka76bm Sep 24, 2025
dc52282
Potential fix for code scanning alert no. 16: Uncontrolled data used …
aka76bm Sep 24, 2025
0e06b86
Merge branch 'llvm:main' into Uncontrolled-data-used-in-path-expression
aka76bm Sep 24, 2025
a141766
Merge branch 'main' into Uncontrolled-data-used-in-path-expression
aka76bm Sep 24, 2025
5521b6f
Merge branch 'main' into Uncontrolled-data-used-in-path-expression
aka76bm Sep 24, 2025
46f7de6
Merge branch 'llvm:main' into Uncontrolled-data-used-in-path-expression
aka76bm Sep 25, 2025
ffa84d3
Merge branch 'main' into Uncontrolled-data-used-in-path-expression
aka76bm Sep 27, 2025
a2a156a
Merge branch 'main' into Uncontrolled-data-used-in-path-expression
aka76bm Sep 27, 2025
0c74138
Merge branch 'main' into Uncontrolled-data-used-in-path-expression
aka76bm Sep 30, 2025
93bbb50
Merge branch 'main' into Uncontrolled-data-used-in-path-expression
aka76bm Oct 2, 2025
8993144
Merge branch 'main' into Uncontrolled-data-used-in-path-expression
aka76bm Oct 2, 2025
03adf39
Merge branch 'main' into Uncontrolled-data-used-in-path-expression
aka76bm Oct 2, 2025
aed1898
Merge branch 'llvm:main' into Uncontrolled-data-used-in-path-expression
aka76bm Oct 5, 2025
f708b0b
Merge branch 'main' into Uncontrolled-data-used-in-path-expression
aka76bm Oct 8, 2025
bf5f5f0
Merge branch 'main' into Uncontrolled-data-used-in-path-expression
aka76bm Oct 10, 2025
ec1438b
[lldb] Fix CodeQL py/insecure-temporary-file in gdbremote.py
aka76bm Oct 30, 2025
872ec50
Merge branch 'Uncontrolled-data-used-in-path-expression' of https://g…
aka76bm Oct 30, 2025
e5c8c43
Merge branch 'main' into Uncontrolled-data-used-in-path-expression
aka76bm Oct 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 11 additions & 34 deletions .ci/metrics/requirements.lock.txt
Original file line number Diff line number Diff line change
Expand Up @@ -186,34 +186,9 @@ charset-normalizer==3.4.0 \
--hash=sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079 \
--hash=sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482
# via requests
cryptography==43.0.3 \
--hash=sha256:0c580952eef9bf68c4747774cde7ec1d85a6e61de97281f2dba83c7d2c806362 \
--hash=sha256:0f996e7268af62598f2fc1204afa98a3b5712313a55c4c9d434aef49cadc91d4 \
--hash=sha256:1ec0bcf7e17c0c5669d881b1cd38c4972fade441b27bda1051665faaa89bdcaa \
--hash=sha256:281c945d0e28c92ca5e5930664c1cefd85efe80e5c0d2bc58dd63383fda29f83 \
--hash=sha256:2ce6fae5bdad59577b44e4dfed356944fbf1d925269114c28be377692643b4ff \
--hash=sha256:315b9001266a492a6ff443b61238f956b214dbec9910a081ba5b6646a055a805 \
--hash=sha256:443c4a81bb10daed9a8f334365fe52542771f25aedaf889fd323a853ce7377d6 \
--hash=sha256:4a02ded6cd4f0a5562a8887df8b3bd14e822a90f97ac5e544c162899bc467664 \
--hash=sha256:53a583b6637ab4c4e3591a15bc9db855b8d9dee9a669b550f311480acab6eb08 \
--hash=sha256:63efa177ff54aec6e1c0aefaa1a241232dcd37413835a9b674b6e3f0ae2bfd3e \
--hash=sha256:74f57f24754fe349223792466a709f8e0c093205ff0dca557af51072ff47ab18 \
--hash=sha256:7e1ce50266f4f70bf41a2c6dc4358afadae90e2a1e5342d3c08883df1675374f \
--hash=sha256:81ef806b1fef6b06dcebad789f988d3b37ccaee225695cf3e07648eee0fc6b73 \
--hash=sha256:846da004a5804145a5f441b8530b4bf35afbf7da70f82409f151695b127213d5 \
--hash=sha256:8ac43ae87929a5982f5948ceda07001ee5e83227fd69cf55b109144938d96984 \
--hash=sha256:9762ea51a8fc2a88b70cf2995e5675b38d93bf36bd67d91721c309df184f49bd \
--hash=sha256:a2a431ee15799d6db9fe80c82b055bae5a752bef645bba795e8e52687c69efe3 \
--hash=sha256:bf7a1932ac4176486eab36a19ed4c0492da5d97123f1406cf15e41b05e787d2e \
--hash=sha256:c2e6fc39c4ab499049df3bdf567f768a723a5e8464816e8f009f121a5a9f4405 \
--hash=sha256:cbeb489927bd7af4aa98d4b261af9a5bc025bd87f0e3547e11584be9e9427be2 \
--hash=sha256:d03b5621a135bffecad2c73e9f4deb1a0f977b9a8ffe6f8e002bf6c9d07b918c \
--hash=sha256:d56e96520b1020449bbace2b78b603442e7e378a9b3bd68de65c782db1507995 \
--hash=sha256:df6b6c6d742395dd77a23ea3728ab62f98379eff8fb61be2744d4679ab678f73 \
--hash=sha256:e1be4655c7ef6e1bbe6b5d0403526601323420bcf414598955968c9ef3eb7d16 \
--hash=sha256:f18c716be16bc1fea8e95def49edf46b82fccaa88587a45f8dc0ff6ab5d8e0a7 \
--hash=sha256:f46304d6f0c6ab8e52770addfa2fc41e6629495548862279641972b6215451cd \
--hash=sha256:f7b178f11ed3664fd0e995a47ed2b5ff0a12d893e41dd0494f406d1cf555cab7
cryptography==46.0.1 \
# Hashes need to be regenerated for cryptography==46.0.1
# via pyjwt
# via pyjwt
deprecated==1.2.15 \
--hash=sha256:353bc4a8ac4bfc96800ddab349d89c25dec1079f65fd53acdcc1e0b975b21320 \
Expand Down Expand Up @@ -251,9 +226,9 @@ python-dateutil==2.9.0.post0 \
--hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \
--hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
# via -r ./requirements.txt
requests==2.32.3 \
--hash=sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760 \
--hash=sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6
requests==2.32.5 \
# Hashes need to be regenerated for requests==2.32.5
# via pygithub
# via pygithub
six==1.17.0 \
--hash=sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274 \
Expand All @@ -263,9 +238,11 @@ typing-extensions==4.12.2 \
--hash=sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d \
--hash=sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8
# via pygithub
urllib3==2.2.3 \
--hash=sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac \
--hash=sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9
urllib3==2.5.0 \
# Hashes need to be regenerated for urllib3==2.5.0
# via
# pygithub
# requests
# via
# pygithub
# requests
Expand Down
2 changes: 1 addition & 1 deletion .ci/metrics/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
pygithub==2.5.0
pygithub==2.8.1
python-dateutil==2.9.0.post0
2 changes: 1 addition & 1 deletion .ci/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
junitparser==3.2.0
google-cloud-storage==3.3.0
google-cloud-storage==3.4.0
11 changes: 11 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "weekly"
6 changes: 5 additions & 1 deletion .github/workflows/gha-codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,11 @@ jobs:
- name: Initialize CodeQL
uses: github/codeql-action/init@303c0aef88fc2fe5ff6d63d3b1596bfd83dfa1f9 # v3.30.4
with:
languages: actions
languages: actions, swift
queries: security-extended
- name: Build Swift code
run: |
swiftc llvm/test/tools/opt-viewer/Inputs/suppress/s.swift
swiftc llvm/test/tools/opt-viewer/Inputs/unicode-function-name/s.swift
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@303c0aef88fc2fe5ff6d63d3b1596bfd83dfa1f9 # v3.30.4
4 changes: 2 additions & 2 deletions .github/workflows/libcxx-run-benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,15 +70,15 @@ jobs:
source .venv/bin/activate && cd repo
python -m pip install -r libcxx/utils/requirements.txt
baseline_commit=$(git merge-base ${{ steps.vars.outputs.pr_base }} ${{ steps.vars.outputs.pr_head }})
./libcxx/utils/test-at-commit --commit ${baseline_commit} -B build/baseline -- -sv -j1 --param optimization=speed "$BENCHMARKS"

./libcxx/utils/consolidate-benchmarks build/baseline | tee baseline.lnt

- name: Run candidate
env:
BENCHMARKS: ${{ steps.vars.outputs.benchmarks }}
run: |
source .venv/bin/activate && cd repo
./libcxx/utils/test-at-commit --commit ${{ steps.vars.outputs.pr_head }} -B build/candidate -- -sv -j1 --param optimization=speed "$BENCHMARKS"

./libcxx/utils/consolidate-benchmarks build/candidate | tee candidate.lnt

- name: Compare baseline and candidate runs
Expand Down
13 changes: 9 additions & 4 deletions clang/lib/AST/Decl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4072,12 +4072,17 @@ bool FunctionDecl::isInlineDefinitionExternallyVisible() const {
ASTContext &Context = getASTContext();

if (Context.getLangOpts().GNUInline || hasAttr<GNUInlineAttr>()) {
// GNU inline semantics:
//
// A function defined 'inline' is externally visible.
// A function defined 'extern inline' is not externally visible.
//
// If any declaration is 'inline' but not 'extern', the definition is
// externally visible. This is the only case that matters for a function
// defined 'extern inline'.
//
// Note: If you change the logic here, please change
// doesDeclarationForceExternallyVisibleDefinition as well.
//
// If it's not the case that both 'inline' and 'extern' are
// specified on the definition, then this inline definition is
// externally visible.
if (Context.getLangOpts().CPlusPlus)
return false;
if (!(isInlineSpecified() && getStorageClass() == SC_Extern))
Expand Down
Loading