<html>
    <head>
      <base href="http://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 --- - Don't suppress unused/undefined warnings when there are errors"
   href="http://llvm.org/bugs/show_bug.cgi?id=19910">19910</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Don't suppress unused/undefined warnings when there are errors
          </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>alp@nuanti.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvmbugs@cs.uiuc.edu
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>We currently don't emit various kinds of warnings if there have been errors (a)
in scope and (b) at end of TU.

The two traditional reasons for this were:

 1) Some of the warnings may be spurious if tokens or semantic analyses were
skipped during error recovery.

 2) Although the warnings are accurate, they can distract users reading text
diagnostic output from the actual error.

The spurious warnings in (1) have mostly been fixed in recent years to support
typo correction. See the discussion in PR5933 for historical context. Any
remaining issues will be minor and can be fixed as we encounter them.

Meanwhile (2) is still true for command line use, but not for IDEs and editors
that know how to sort diagnostics by severity. This could be solved by moving
the suppression to TextDiagnosticPrinter.

We shouldn't discard this information so readily in any case, and doing so
causes inconsistent behaviour in GUI editors.</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>