-
Notifications
You must be signed in to change notification settings - Fork 219
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
issue #308, Resolve cpp warning in os dir. #310
Conversation
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.
Conditionally approved, but I would like to confirm if there isn't some other way to avoid the cppcheck warning other than the inline suppression (e.g. by telling it that OS_MAX_MODULES > 0 or just giving it the path to osconfig.h)?
@@ -51,6 +51,7 @@ | |||
*/ | |||
typedef struct | |||
{ | |||
/* cppcheck-suppress unusedStructMember */ |
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 seems suspicious because the dl_handle is absolutely used, but the code is conditional upon OS_MAX_MODULES > 0
in the config.
Maybe cppcheck is complaining because it doesn't know what OS_MAX_MODULES is set to, therefore assumes that the conditional is false?
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.
Right. Cppcheck is checking both conditions. I prefer this specific suppression vs passing in OS_MAX_MODULES to cppcheck, in that I don't really care about this specific warning but if future ones show up for that condition being false I want to know.
Alternatively, if the condition really can never happen, then it probably shouldn't be there (and add a verify that OS_MAX_MODULES > 0).
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.
The condition of OS_MAX_MODULES being 0 can happen. But in that case the structure isn't instantiated at all. cppcheck just does not know that.
I think a better long-term solution would be to work this into the cmake-based osconfig options (to replace the preprocessor-based logic). This will get rid of these types of #if
conditionals in here and probably clear up this warning too.
CCB 20191218 - Reviewed and approved for IC |
Describe the contribution
Resolve cppcheck for os dir. Possible cppcheck bug for structure member - suppress.
Testing performed
Steps taken to test the contribution:
System(s) tested on:
Contributor Info
Anh Van, NASA Goddard