<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </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 - suppress error about 'override' when the base is incomplete"
   href="https://bugs.llvm.org/show_bug.cgi?id=32644">32644</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>suppress error about 'override' when the base is incomplete
          </td>
        </tr>

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

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

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

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

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

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

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

        <tr>
          <th>Component</th>
          <td>C++
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>nlewycky@google.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>dgregor@apple.com, llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Testcase:

class ForgotTheInclude;

class C : public ForgotTheInclude {
  void f() override {}
};

$ clang++ -std=c++11 b18043312.cc 
b18043312.cc:3:18: error: base class has incomplete type
class C : public ForgotTheInclude {
          ~~~~~~~^~~~~~~~~~~~~~~~
b18043312.cc:1:7: note: forward declaration of 'ForgotTheInclude'
class ForgotTheInclude;
      ^
b18043312.cc:4:12: error: only virtual member functions can be marked
'override'
  void f() override {}
           ^~~~~~~~~
2 errors generated.

The second error is extraneous because we don't know whether the method is
virtual or not. If you like, as an error recovery you can go ahead and mark it
virtual in what's left of the AST.</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>