Skip to content

SonarQube: Remove code that will never be executed #2506

@JohnHalleyGotway

Description

@JohnHalleyGotway

Describe the Task

SonarQube flags as a Major Bug any code that will never be executed. There are 72 instances of this in develop branch and all of them are calls to return or break immediately after a call to exit. These were originally added to satisfy earlier compiler versions. However, the GCC version 8.3.0 (g++ (Debian 8.3.0-6) 8.3.0) now compilers that code without complaint.

This task is to resolve all of these SonarQube bugs.

Here's the SonarQube explanation:

Some statements (return, break, continue, goto, co_return) and throw expressions move control flow out of the current code block. Furthermore, some function do not return control flow (e.g. abort(), std::terminate(), functions with the [[noreturn]] attribute).

Any unlabeled statements that come after such a jump or function call are unreachable, and either this dead code should be removed, or the logic should be corrected.

Time Estimate

2 hours.

Sub-Issues

Consider breaking the task down into sub-issues.
No sub-issues.

Relevant Deadlines

List relevant project deadlines here or state NONE.

Funding Source

2771021

Define the Metadata

Assignee

  • Select engineer(s) or no engineer required
  • Select scientist(s) or no scientist required

Labels

  • Select component(s)
  • Select priority
  • Select requestor(s)

Projects and Milestone

  • Select Repository and/or Organization level Project(s) or add alert: NEED PROJECT ASSIGNMENT label
  • Select Milestone as the next official version or Future Versions

Define Related Issue(s)

Consider the impact to the other METplus components.

Task Checklist

See the METplus Workflow for details.

  • Complete the issue definition above, including the Time Estimate and Funding Source.
  • Fork this repository or create a branch of develop.
    Branch name: feature_<Issue Number>_<Description>
  • Complete the development and test your changes.
  • Add/update log messages for easier debugging.
  • Add/update unit tests.
  • Add/update documentation.
  • Push local changes to GitHub.
  • Submit a pull request to merge into develop.
    Pull request: feature <Issue Number> <Description>
  • Define the pull request metadata, as permissions allow.
    Select: Reviewer(s) and Development issues
    Select: Repository level development cycle Project for the next official release
    Select: Milestone as the next official version
  • Iterate until the reviewer(s) accept and merge your changes.
  • Delete your fork or branch.
  • Close this issue.

Metadata

Metadata

Type

No type

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions