-
Notifications
You must be signed in to change notification settings - Fork 31
Add cling 1.2 support #580
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
Conversation
bfee029
to
ea1c61f
Compare
As this PR will involve deleting things from the cache, once this PR has been approved, please just leave it to me to merge, since I know exactly what needs to be deleted before merging. |
ea1c61f
to
90d4bf0
Compare
Hi @mcbarton, looks like this build won't work unless we move to cling master or wait for the v1.3 release. If you don't mind tracking a patch for the timebeing, I can push that here. I do still face some weird issues with googletest in cmake, but I'm sure you can take it from there. |
@mcbarton never mind that, came from me not passing the |
Just a note that as part of this PR we will want to update the documentation too, to remove references to cling 1.0, and mention the need for the patch if they use cling 1.2 . I plan to put in a PR on Monday to eliminate the code needed for 1.0 cling support. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #580 +/- ##
=======================================
Coverage 76.36% 76.36%
=======================================
Files 9 9
Lines 3655 3655
=======================================
Hits 2791 2791
Misses 864 864 🚀 New features to boost your workflow:
|
5cbcf3d
to
2fe65fc
Compare
@aaronj0 @Vipul-Cariappa The macOS cling 1.2 job passes for CppInterOp with the new patch. To get the whole job to pass an identical PR will need to be opened in cppyy to fix the test tags there. |
DynamicLibraryManagerTest.Sanity is failing for Windows cling 1.2 . That test will need to be disabled for Windows cling llvm = 18 . I am away from my computer this weekend, so this will need to be taken care of by someone else if needed before Monday. |
cf3aa84
to
dfaf2bd
Compare
clang-tidy review says "All clean, LGTM! 👍" |
1 similar comment
clang-tidy review says "All clean, LGTM! 👍" |
dfaf2bd
to
155edcf
Compare
clang-tidy review says "All clean, LGTM! 👍" |
155edcf
to
f7f9c63
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
@@ -1,5 +1,6 @@ | |||
#include "gtest/gtest.h" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
warning: 'gtest/gtest.h' file not found [clang-diagnostic-error]
#include "gtest/gtest.h"
^
c46b04b
to
232a4a8
Compare
@mcbarton I disagree with you dropping my commit updating the LLJIT guards on this PR. This is code I worked on earlier and something I wanted to address with a specific commit and a functional description as to what changed there. Either way, opening PRs with broad goals, expecting others to fix all the issues on those PRs (which have been doing) and then dropping their commits gets in the way of people who work on these things as a part of their job, and is in poor taste. |
I didn't mean to cause any offence. I certainly am not expecting you solve the issues on PRs I open (I am happy for you to close this PR, and open up a completely new one). I did it because I see updating to cling 1.2 to be separate to dropping support for 1.0 . I saw this commit as something which didn't have anything to do with adding 1.2 support, and more to do with dropping 1.0 support (and I had already made this change in my 1.0 cling support dropping PR). |
232a4a8
to
693d288
Compare
No worries, I have updated the Windows failures, and we have the cppyy tags ready here: compiler-research/cppyy#145. We can merge this since all jobs fail on the cppyy step, and follow up on the cppyy side for the tags. I will also open a PR with the patch dropped here, so we no longer have that pointer arithmetic for Cling in ROOT with the immediate CppInterOp release. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
@@ -163,6 +163,10 @@ TEST(ScopeReflectionTest, SizeOf) { | |||
|
|||
|
|||
TEST(ScopeReflectionTest, IsBuiltin) { | |||
#if CLANG_VERSION_MAJOR == 18 && defined(CPPINTEROP_USE_CLING) && defined(_WIN32) && (defined(_M_ARM) || defined(_M_ARM64)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
warning: no header providing "CLANG_VERSION_MAJOR" is directly included [misc-include-cleaner]
unittests/CppInterOp/ScopeReflectionTest.cpp:21:
- #include <string>
+ #include <clang/Basic/Version.h>
+ #include <string>
693d288
to
1a4f0aa
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
clang-tidy review says "All clean, LGTM! 👍" |
2 similar comments
clang-tidy review says "All clean, LGTM! 👍" |
clang-tidy review says "All clean, LGTM! 👍" |
@vgvassilev @aaronj0 can one of you approve this PR now that the Windows arm part of the ci passes? I'm planning on dealing with deleting old unneeded cache builds tonight and merge together with this PR #583 which removes the cross compile emscripten patch, when things are quiet, since both PRs are likely to be disruptive while the cache rebuilds. @aaronj0 can rerun his cppyy PR tomorrow to show that it passes after this goes in. I will rebase my PR which removes cling 1.0 support on top of this one, with a plan for that PR to be ready either tomorrow or Friday. |
I will squash the commits on merge if approved. |
843a3d4
to
130b481
Compare
Co-authored-by: mcbarton <[email protected]>
130b481
to
82069ff
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! I have rebased on main and squashed into meaningful commits, we can merge this once the jobs pass, and move on to updating cppyy. Thanks for this effort @mcbarton
I guess there is no point in waiting for the cache to rebuild again, so I am going ahead and merging this PR |
clang-tidy review says "All clean, LGTM! 👍" |
Description
Please include a summary of changes, motivation and context for this PR.
This PR makes CppInterOp compatible with cling 1.2, and jobs the cling 1.0 jobs. I will remove cling 1.0 support from CppInterOp in a separate PR soon.
Fixes # (issue)
Type of change
Please tick all options which are relevant.
Testing
Please describe the test(s) that you added and ran to verify your changes.
Checklist