-
-
Notifications
You must be signed in to change notification settings - Fork 671
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
COMP: Use the c++ 17 common [[fallthrough]] attribute #4580
COMP: Use the c++ 17 common [[fallthrough]] attribute #4580
Conversation
[[fallthrough]](C++17) indicates that the fall through from the previous case label is intentional and should not be diagnosed by a compiler that warns on fall-through (attribute specifier) Remove complicated #ifdef macro logic to enforce compiler specific behaviors.
4c5b6a3
to
9243a07
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.
Thanks, Hans! Interestingly GitHub thinks that [[fallthrough]](C++17)
links to https://github.com/InsightSoftwareConsortium/ITK/pull/C++17 😸 Anyway, no problem, approved 👍
This change looks good. How close are we to 5.4? Do we have another RC? Are we planning some kind of new feature freeze soon? This seems like using a new C++17 feature. How certain are we that all compilers support this feature correctly? |
@blowekamp I do think all compilers that support c++17 do support this. It is not an onerous addition to the language. Many compilers have used similar non-standard methods. c++17 standardized the mechanism. I have not looked at "all compilers", but the common ones have definitive support for this feature. |
ITK 5.4RC3 was tagged recently, but an issue was discovered immediately -- 5.4RC4 will be tagged and announced with the fix next week. We should not add major new features until 5.4.0, but this should be fine -- we have had a C++17 requirement for a while, and it is passing all CI. |
Yes, this change "should" be fine. Let us get it in for 5.4rc4? |
[fallthrough] indicates that the fall through from the previous case label is intentional and should not be diagnosed by a compiler that warns on fall-through (attribute specifier)
Remove complicated #ifdef macro logic to enforce compiler specific behaviors.
PR Checklist