<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 - [Python] CompilationDatabase.getCompileCommands does not work as documented"
   href="https://bugs.llvm.org/show_bug.cgi?id=50249">50249</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[Python] CompilationDatabase.getCompileCommands does not work as documented
          </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>normal
          </td>
        </tr>

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

        <tr>
          <th>Component</th>
          <td>Tooling
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>edaskel@att.net
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=24838" name="attach_24838" title="Standalone reproduction">attachment 24838</a> <a href="attachment.cgi?id=24838&action=edit" title="Standalone reproduction">[details]</a></span>
Standalone reproduction

The documentation for getCompileCommands() says:

        Get an iterable object providing all the CompileCommands available to
        build filename. Returns None if filename is not found in the database.

The actual behavior for the "not found" case differs in surprising ways:

1. When a regular source file (e.g. .cpp) is not found, an empty iterable is
returned instead of None
2. If a header file (e.g. .h) is not found, a guess at the compile command is
made and returned

I believe the documentation should be updated to reflect the actual behavior.</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>