Skip to content
New issue

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

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

Already on GitHub? # to your account

Use c++14 to pass the verilator check #3876

Merged
merged 1 commit into from
Feb 28, 2024

Conversation

Emin017
Copy link
Contributor

@Emin017 Emin017 commented Feb 27, 2024

When I update to verilator v5.022, the svsim test will fail (someone has already raised an issue). I found out this was because verilator added a check for the c++14 standard.

Contributor Checklist

  • Did you add Scaladoc to every public function/method?
  • Did you add at least one test demonstrating the PR?
  • Did you delete any extraneous printlns/debugging code?
  • Did you specify the type of improvement?
  • Did you add appropriate documentation in docs/src?
  • Did you request a desired merge strategy?
  • Did you add text to be included in the Release Notes for this change?

Type of Improvement

  • Bugfix

Desired Merge Strategy

  • Squash: The PR will be squashed and merged (choose this if you have no preference).

Release Notes

Change ChiselSim to requires a C++14 compiler.

Reviewer Checklist (only modified by reviewer)

  • Did you add the appropriate labels? (Select the most appropriate one based on the "Type of Improvement")
  • Did you mark the proper milestone (Bug fix: 3.6.x, 5.x, or 6.x depending on impact, API modification or big change: 7.0)?
  • Did you review?
  • Did you check whether all relevant Contributor checkboxes have been checked?
  • Did you do one of the following when ready to merge:
    • Squash: You/ the contributor Enable auto-merge (squash), clean up the commit message, and label with Please Merge.
    • Merge: Ensure that contributor has cleaned up their commit history, then merge with Create a merge commit.

Copy link

linux-foundation-easycla bot commented Feb 27, 2024

CLA Signed


The committers listed above are authorized under a signed CLA.

@seldridge seldridge requested a review from jackkoenig February 28, 2024 15:19
@seldridge seldridge added the No Release Notes Exclude from release notes, consider using Internal instead label Feb 28, 2024
Copy link
Member

@seldridge seldridge left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally seems fine to me. There shouldn't be an issue with requiring a compiler that supports C++14.

We haven't bumped the version of Tabby CAD OSS Suite in a while, so this likely hasn't cropped up. (We're using an older version of Verilator in CI.) We should probably do that, too, put that on latest, or add nightly/CD that tries to keep Tabby CAD up to date.

@jackkoenig
Copy link
Contributor

We should merge this, but a longer term fix is we should probably make the arguments version-specific so that we can support some older Linux distros and Verilator versions out-of-the-box.

@jackkoenig
Copy link
Contributor

jackkoenig commented Feb 28, 2024

I also wouldn't call this "No release notes", we do now require a compiler with C++14 support which should work for most, but lots of users in the hardware industry are on surprisingly old Linux distros.

@seldridge seldridge added Dependency Update Updates a dependency, will be included in release notes and removed No Release Notes Exclude from release notes, consider using Internal instead labels Feb 28, 2024
@seldridge seldridge merged commit 6229155 into chipsalliance:main Feb 28, 2024
18 of 19 checks passed
@seldridge
Copy link
Member

@jackkoenig: Can we backport this and/or get this onto a non-snapshot release? I think this may be necessary for newer Verilator. I'm thinking this (chipsalliance/chisel-template#127) is related.

@jackkoenig jackkoenig added this to the 5.x milestone Mar 7, 2024
@mergify mergify bot added the Backported This PR has been backported label Mar 7, 2024
mergify bot pushed a commit that referenced this pull request Mar 7, 2024
(cherry picked from commit 6229155)

# Conflicts:
#	svsim/src/main/scala/verilator/Backend.scala
mergify bot pushed a commit that referenced this pull request Mar 7, 2024
@jackkoenig
Copy link
Contributor

@seldridge sure, no reason not to release 6.2.0 (or 6.1.1?) with this.

chiselbot pushed a commit that referenced this pull request Mar 7, 2024
(cherry picked from commit 6229155)

Co-authored-by: qimingchu <1346550347@qq.com>
chiselbot pushed a commit that referenced this pull request Mar 7, 2024
* Use c++14 to pass the verilator check (#3876)

(cherry picked from commit 6229155)

# Conflicts:
#	svsim/src/main/scala/verilator/Backend.scala

* Resolve backport conflicts

---------

Co-authored-by: qimingchu <1346550347@qq.com>
Co-authored-by: Jack Koenig <koenig@sifive.com>
@Emin017 Emin017 deleted the svsim-cpp14 branch March 11, 2024 01:55
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Backported This PR has been backported Dependency Update Updates a dependency, will be included in release notes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants