<html>
    <head>
      <base href="https://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Clang shows multiple unreachable code warnings when one warning is sufficient"
   href="https://llvm.org/bugs/show_bug.cgi?id=30631">30631</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Clang shows multiple unreachable code warnings when one warning is sufficient
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>clang
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Frontend
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedclangbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>arphaman@gmail.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Typically, when clang is given the '-Wunreachable-code' option, it would show a
minimal number of warnings when it encounters unreachable statements.

However, clang shows multiple warnings for unreachable code that's mixed
together with statements like 'return'. For example, clang will show two
unreachable warnings when the code below is compiled with '-Wunreachable-code':

int foo() {
  return 0; 
}
int bar(int x) {
  if (x == 0)
    return x + 1;
  else
    return x;
  foo(); // warning will be shown here
  return 0;
  foo(); // and another warning will be shown here
}</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>