Skip to content

Enable CppInterOp #16814

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Feb 19, 2025
Merged

Enable CppInterOp #16814

merged 3 commits into from
Feb 19, 2025

Conversation

aaronj0
Copy link
Contributor

@aaronj0 aaronj0 commented Nov 4, 2024

CppInterOp exposes API from Clang and LLVM in a mostly backward compatibe way. The API support downstream tools that utilize interactive C++ by using the compiler as a service.

This PR is the first step in using pure clang based reflection API in meta, and part of eventually integrating the JITCall and DynamicLibraryManager infrastructure.

Adopting more of CppInterOp in ROOT will help simplify the LLVM migration process and allow us to upstream more patches to either CppInterOp or LLVM.

TODO:

  • Add github workflow to diffcheck with upstream
  • Improve CMake config for windows (symbol exports added upstream)
  • Propagate LLVM_BUILD_TYPE instead of ROOT's config to InterOp's build type
  • Test with builtin_llvm=off and builtin_clang=off
  • reduce patches to 0

@aaronj0 aaronj0 changed the title Enable interop Enable CppInterOp Nov 4, 2024
@aaronj0 aaronj0 marked this pull request as draft November 4, 2024 14:58
Copy link

github-actions bot commented Nov 4, 2024

Test Results

    18 files      18 suites   4d 6h 46m 40s ⏱️
 2 720 tests  2 720 ✅ 0 💤 0 ❌
47 258 runs  47 258 ✅ 0 💤 0 ❌

Results for commit 2887ee4.

♻️ This comment has been updated with latest results.

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.

The direction looks good to me! In addition to the test failures that need fixing, some comments inline for consideration

@guitargeek guitargeek added the clean build Ask CI to do non-incremental build on PR label Dec 2, 2024
@aaronj0 aaronj0 force-pushed the enable-interop branch 2 times, most recently from ef871f9 to 86246a7 Compare December 2, 2024 10:46
@aaronj0 aaronj0 removed the clean build Ask CI to do non-incremental build on PR label Dec 3, 2024
@aaronj0 aaronj0 force-pushed the enable-interop branch 2 times, most recently from 196c4ff to 9977082 Compare December 3, 2024 14:43
@vgvassilev vgvassilev mentioned this pull request Dec 3, 2024
@aaronj0 aaronj0 force-pushed the enable-interop branch 3 times, most recently from ab52fd8 to 540c6fc Compare December 9, 2024 10:49
@aaronj0 aaronj0 force-pushed the enable-interop branch 2 times, most recently from 6f2ac11 to 7e53b7b Compare January 9, 2025 18:50
@aaronj0 aaronj0 force-pushed the enable-interop branch 10 times, most recently from eca5f31 to 8b5def2 Compare February 10, 2025 14:28
@aaronj0 aaronj0 force-pushed the enable-interop branch 2 times, most recently from 496960e to 08a79a9 Compare February 17, 2025 10:57
@aaronj0 aaronj0 requested a review from hahnjo February 17, 2025 13:34
@vgvassilev
Copy link
Member

@smuzaffar, can you check if cmssw works after this pr?

@hahnjo
Copy link
Member

hahnjo commented Feb 18, 2025

can you check if cmssw works after this pr?

To be honest, I don't really see why this is relevant to check: In this PR, CppInterOp is just added and not actually used...

@aaronj0 aaronj0 force-pushed the enable-interop branch 4 times, most recently from 3f0dbb6 to 755868a Compare February 18, 2025 11:20
@vgvassilev
Copy link
Member

can you check if cmssw works after this pr?

To be honest, I don't really see why this is relevant to check: In this PR, CppInterOp is just added and not actually used...

I understand, and nevertheless I'd like to get a green light on this.

@smuzaffar
Copy link
Contributor

cms tests are running here cms-sw#218

@smuzaffar
Copy link
Contributor

cmssw tests passed

@aaronj0
Copy link
Contributor Author

aaronj0 commented Feb 19, 2025

cmssw tests passed

Thanks!

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.

Lgtm. Once we merge I will create a new release of CppInterOp.

@aaronj0 aaronj0 merged commit fd5bc24 into root-project:master Feb 19, 2025
21 of 22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants