Skip to content

Conversation

@devajithvs
Copy link
Contributor

@devajithvs devajithvs commented Jul 1, 2025

This Pull request:

Update ROOT and Cling to LLVM20:

TODO:

  • Organize commits and make it more verbose/remove unneeded commits
  • Fix the remaining failing tests
  • Update git tags for LLVM

Changes or fixes:

Checklist:

  • tested changes locally
  • updated the docs (if necessary)

This PR fixes #

@devajithvs devajithvs changed the title Update ROOT and Cling to LLVM18 Update ROOT and Cling to LLVM20 Jul 1, 2025
@devajithvs devajithvs added the clean build Ask CI to do non-incremental build on PR label Jul 1, 2025
@devajithvs devajithvs self-assigned this Jul 1, 2025
@devajithvs devajithvs closed this Jul 1, 2025
@devajithvs devajithvs reopened this Jul 1, 2025
@github-actions
Copy link

github-actions bot commented Jul 1, 2025

Test Results

    22 files      22 suites   4d 0h 9m 15s ⏱️
 3 686 tests  3 686 ✅ 0 💤 0 ❌
79 161 runs  79 161 ✅ 0 💤 0 ❌

Results for commit 0204fdd.

♻️ This comment has been updated with latest results.

@devajithvs devajithvs force-pushed the ROOT-llvm20 branch 2 times, most recently from 9ee153a to 253faee Compare July 17, 2025 12:27
@devajithvs devajithvs added the skip code analysis Skip the code analysis CI steps for this PR, including verifying clang-formatting and running Ruff. label Jul 18, 2025
@devajithvs devajithvs force-pushed the ROOT-llvm20 branch 3 times, most recently from b01f14c to d2749b8 Compare August 20, 2025 12:57
@devajithvs devajithvs force-pushed the ROOT-llvm20 branch 3 times, most recently from 4e6fac4 to 1731a44 Compare September 3, 2025 16:32
@devajithvs devajithvs force-pushed the ROOT-llvm20 branch 4 times, most recently from 67fd319 to c090439 Compare September 25, 2025 13:48
@devajithvs devajithvs marked this pull request as ready for review September 29, 2025 14:46
@devajithvs
Copy link
Contributor Author

@smuzaffar, the CI looks good and everything seems to be working reasonably well with the LLVM 20 upgrade. Could you check this PR against CMSSW?

@smuzaffar
Copy link
Contributor

@devajithvs , cms-sw#227 is running cmssw CI tests for this change

@smuzaffar
Copy link
Contributor

cmssw CI tests cms-sw#227 (comment) look good

devajithvs and others added 16 commits October 6, 2025 15:41
TemplateArgument can return a QualType that may contain
unqualified parts.

Before (incorrect):
  __gnu_cxx::__common_pool_policy<__pool, true>

After (correct):
  __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true>
LLVM 20 produce `RecoveryExpr` for dependent errors where LLVM 18 returned
`ExprError`.

In our type/name lookup path, this can leave a <recovery-expr> node and
later codeGen asks the AST to constant-evaluate that initializer and we hit
this assertion:

`VarDecl::evaluateValueImpl: !Init->isValueDependent()`.
Avoid cases like: avoid `class__attribute__` with LLVM20

Fixes the failure on alma9:
`gtest-tree-dataframe-dataframe-snapshot-emptyoutput`
Skip dumping TopLevelStmt if they are invalid.

The change llvm/llvm-project@4b70d17bcf caused an invalid
`TopLevelStatement` to be added to the AST, which can trigger
assertions when dumping.
Also temporarily failing disable `testHashRecursiveRemove` test on Windows
template_arguments() has the types, but getTemplateArgs() has the
pack argument, so their counts may be different. Add test for failing
CMS build with LLVM 20.

Co-authored-by: Devajith Valaparambil Sreeramaswamy <[email protected]>
Copy link
Member

@vgvassilev vgvassilev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work! LGTM!

Copy link
Member

@hahnjo hahnjo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks all good!

@dpiparo dpiparo merged commit 23a5179 into root-project:master Oct 7, 2025
28 checks passed
@devajithvs devajithvs deleted the ROOT-llvm20 branch November 4, 2025 16:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

clean build Ask CI to do non-incremental build on PR skip code analysis Skip the code analysis CI steps for this PR, including verifying clang-formatting and running Ruff.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants