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

Grep0018 — Modernize C++ #19

Closed
wants to merge 8 commits into from

Conversation

ThomasHabets
Copy link
Contributor

Copy link
Member

@mbr0wn mbr0wn left a comment

Choose a reason for hiding this comment

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

My biggest gripe with this grep is that it's not clear what the action is if we finalize it. I like the move to C++11, but I don't think we need to retro-change all of the existing code, unless it's using Boost pointers and the like. I would suggest that all the small stuff (const, constexpr, etc.) becomes a recommendation for future code, but not necessarily something we have to change everywhere.

grep-0018-modernize-c++.md Show resolved Hide resolved
grep-0018-modernize-c++.md Outdated Show resolved Hide resolved
* What level of ABI guarantee does GNU Radio make between and within
minor releases?

### More const
Copy link
Member

Choose a reason for hiding this comment

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

Can you please elaborate these headers a little: "Replace more variables with const where appropriate"

Copy link
Member

Choose a reason for hiding this comment

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

On const: That's not really C++11, that's always been good practice. I wonder if it's even worth putting that in this PR. It's also not a huge win when we retroactively add const into existing code. Maybe we should focus on bigger wins instead. Usage of const is something that should be flagged during code reviews.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'm adding a middle ground.

grep-0018-modernize-c++.md Outdated Show resolved Hide resolved
grep-0018-modernize-c++.md Outdated Show resolved Hide resolved
grep-0018-modernize-c++.md Outdated Show resolved Hide resolved
grep-0018-modernize-c++.md Outdated Show resolved Hide resolved
grep-0018-modernize-c++.md Outdated Show resolved Hide resolved
grep-0018-modernize-c++.md Outdated Show resolved Hide resolved
grep-0018-modernize-c++.md Outdated Show resolved Hide resolved
@ThomasHabets
Copy link
Contributor Author

Updated lots. Much more actionable decisions proposed.

Probably in a final version all the "Recommendation" should be changed to "Decision", right?

@ThomasHabets
Copy link
Contributor Author

New updates pushed.

I think there's just one open issue now: Minor OOT breakage. Major version is supposed to allow such breakage, and it's not possible to avoid in order to:

  • add const
  • add enum class
  • deboostify
  • possibly depointerify

Copy link
Member

@mbr0wn mbr0wn left a comment

Choose a reason for hiding this comment

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

I'm fine with all of this, although I'm not as concerned about existing code as you are. But then, maybe I'm getting old and lazy. Do yo think all of these changes should be done before 3.9, or does this GREP not have a time limit?

@ThomasHabets
Copy link
Contributor Author

I think these changes should all be done for an API version, if possible. If that's 3.9 or 3.10 matters less. But also possible to do one type (e.g. constification) within one, and depointerization in another.

What's the timeline for releasing 3.9?

@mbr0wn
Copy link
Member

mbr0wn commented Mar 12, 2020

What's the timeline for releasing 3.9?

Impossible to answer. At the least, we need the de-swigging done. Anyway, let's get this going.

@mbr0wn mbr0wn closed this Mar 12, 2020
@mbr0wn
Copy link
Member

mbr0wn commented Mar 12, 2020

Merged manually.

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.

None yet

2 participants