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
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
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