-
Notifications
You must be signed in to change notification settings - Fork 128
Update Clang to version 18 on macOS #38342
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
227b80d
to
941ab38
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.
This all looks good to me. Builds fine on my machine and launches correctly. Builds on the CI all look good too.
👋 Hi, @jclarkeSTFC, Conflicts have been detected against the base branch. Please rebase your branch against the base branch. |
In Clang 17 a new optimisation was introduced that breaks some of our tests, e.g. SplineSmoothingTest, so I've disabled that option.
This should give us more consistent behaviour across different compilers.
941ab38
to
e3f9781
Compare
I rebased due to a merge conflict in |
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.
Re-approving post-merge conflicts
This brings mantidproject#38342 into ornl-next In Clang 17 a new optimisation was introduced that breaks some of our tests, e.g. SplineSmoothingTest, so I've disabled that option. Use smart pointers instead of raw pointers Disable compiler extensions This should give us more consistent behaviour across different compilers.
The version of
clang
thatconda-forge
uses is now 18, see here.llvm-openmp
was also updated to version 18 for consistency.Fixes #38335.
As well as matching the version of
clang
onconda-forge
,libc++
no longer supportsclang
version 16, see here.To fix a problem casting an
IValidator
to anArrayBoundedValidator<double>
we had to disable an optimisation introduced inclang
17 with the-fno-assume-unique-vtables
flag. See the release notes here.We also disabled compiler extensions to help maintain code compatibility between different compilers.
To test:
build/CMakeCache.txt
mantid-developer
metapackage from this branchDouble check that the CI used the correct
clang
version.For the macOS system tests:
https://builds.mantidproject.org/job/build_packages_from_branch/948/
Reviewer
Please comment on the points listed below (full description).
Your comments will be used as part of the gatekeeper process, so please comment clearly on what you have checked during your review. If changes are made to the PR during the review process then your final comment will be the most important for gatekeepers. In this comment you should make it clear why any earlier review is still valid, or confirm that all requested changes have been addressed.
Code Review
Functional Tests
Does everything look good? Mark the review as Approve. A member of
@mantidproject/gatekeepers
will take care of it.Gatekeeper
If you need to request changes to a PR then please add a comment and set the review status to "Request changes". This will stop the PR from showing up in the list for other gatekeepers.