Skip to content
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

Changes for building with c++20. #1070

Merged
merged 9 commits into from
Apr 27, 2023
Merged

Changes for building with c++20. #1070

merged 9 commits into from
Apr 27, 2023

Conversation

greg7mdp
Copy link
Contributor

With these changes, plus the ones in the PRs opened in the following submodules:

  • bn256
  • eos-vm
  • CLI11
  • abieos

Leap builds with clang-16 in c++20 mode.

With these changes, plus the ones in the PRs opened in the following submodules:

- bn256
- eos-vm
- CLI11
- abieos

Leap builds with clang-16 in c++20 mode.
@heifner heifner requested review from arhag and larryk85 April 21, 2023 20:52
@spoonincode
Copy link
Member

It seems gcc12 is failing with a problem in LLVM's headers

@greg7mdp
Copy link
Contributor Author

greg7mdp commented Apr 21, 2023

It seems gcc12 is failing with a problem in LLVM's headers

Yes, that is correct, that is the one issue I wasn't able to fix yet. That is why I wrote that it builds with clang-16. I did fix some other issues with gcc-12, but I was stumped on that one.

I actually was thinking of asking you (once this was the last issue) to see if you had an idea, since you understand what is done there much better than I do, but otherwise I'll keep looking at it.

BTW, gcc-12 is building fine in c++17 mode (and this PR does not update the flag). When flipping the flag to c++20, there is one remaining issue with gcc-12. So merging this PR would not cause any regression.

@greg7mdp
Copy link
Contributor Author

greg7mdp commented Apr 21, 2023

It seems gcc12 is failing with a problem in LLVM's headers

This is a known issue with the LLVM headers, see this.

I changed /usr/include/llvm-11/llvm/ADT/STLExtras.h to remove the unneeded <R> and it does build fine.

Also, issue is fixed in LLVM-13

@greg7mdp greg7mdp linked an issue Apr 24, 2023 that may be closed by this pull request
@greg7mdp
Copy link
Contributor Author

greg7mdp commented Apr 25, 2023

@spoonincode @linh2931 @arhag @larryk85 can I get a second approval on this? Thanks!

@greg7mdp greg7mdp merged commit c5bec2b into main Apr 27, 2023
@greg7mdp greg7mdp deleted the c++20_update branch April 27, 2023 21:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

Update Leap and submodules, so that they build with -std=c++20.
4 participants