<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/115422>115422</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [libclang] Header files of CXUnsavedFile can not be found while clang_parseTranslationUnit
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          sainimu78
      </td>
    </tr>
</table>

<pre>
    As a contrast, if I save my headers in memory to disk, clang_parseTranslationUnit works fine.

This seems an issue of not treating files finding in a common way for the location of both CXUnsavedFile file and the regular disk file.

Some details:
I try to create a series of STL header, like this
`CXUnsavedFile memSrc;
memSrc.Filename = "Source/BypassSTL/string"
memsrc.Contents = "..."
`
and compiler opts pass to clang_parseTranslationUnit contains "-ISource/BypassSTL"

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx0U81upDwQfBpzaQWBgfk5cEgyQl-k3GYifbeVgQZ645-R22Q0b7-yZzarrDYXwHZXdVW7UMw0W8RWNE-iOWRqDYvzLSuyZNbtLuvdeG0fGRQMzgavOAj5DDTBC7D6QDBXWFCN6BnIgkHj_BWCg5H4PVYOWtn5x1l5xpNXlrUK5OybpQAX598ZJrKYi-Igisfb87QQAyMaBmWBmFcEN4F1AYJHFcjOMJHGBB3jimySZ4yzcFFXmJyHsCBoN6RuEd67sMDz_282qh470phIQNkx1XqcV6180p1Ovmg6OoMwYlCkWVT3zRcIN69DlIWggNETcmx3PL3e5xKHoOkdISzEd85N8VWJQXP0g6iebue3ZR6PrDIIojqAkPLoVj-gkN3T9ayYj6dXITsOnuwspPyEsh_yZ2cD2sC_oXmef5aITXH7iNYHZ86k0YM7B4ZImwx9f2kxBYosR9aHl39JurfJxrYa99VeZdiW26os6nq_KbOllc1m2m_r_VD1WJQVTtWuLMuylsNGTlPVZ9TKQtZlWeyKpt7LMt9LtVHFdsBp12OznURdoFGkc60_TO78nKWUtGXZ1FJmWvWoOSVaSouXW4aisOaQ-TaCHvp1ZlEXmjjwH5pAQadfQVOfZiCaA_yXrvEeOTf9FaJB2RTNHmFyqx3hsqTtbyeYrV63SwjnFCTZCdnNFJa1zwdnhOyimPvr4ezdTxyCkF2ywEJ2d48frfwVAAD__9eaOkQ">