<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/56770>56770</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang-scan-deps] We need to support C++20 Named Modules
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang:tooling
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ChuanqiXu9
</td>
</tr>
</table>
<pre>
In C++20 Named Modules, we introduced `ImportDecl` to describe the dependencies between modules. But this haven't been handled by clang-scan-deps.
For example,
```C++
// A.cppm
export module A;
...
// B.cpp
import A;
```
Currently we can't find that A.cppm is a dependence of B.cpp.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx1UsmOnDAQ_RpzsRp5zH7g0ItamkNyTa7GFODI2MTLzPTfp1iS6USKVLKp_b1nOts_2ldDr4Rf0DijX8UMPf1i-6jBE36l70CVCQ4DEhOkZK_zYl24gdTo0GBpD1461QENE6CzgOnBSAWedhDeAQyd93EpvcSAVcrTSbyBIbwKWIMFkzC9xvHdg0otzHjyUpgTzvIpYTfCzvt5t47Ch5gXDQjtOYNQdjuYHFF-R6PnVC7LvIfgY0V_IKJnkh2lafrXpqPzsnbuEbXRfur4s_K57xqdAxP0Y9UNOWwUB2V6pC3CgYSiAOJTKaB22DelCbQvZVE3dfXC6qRvs77JGpEEFTS0pLj8Iw4pbvQbUAMoHT6Ej8uG8T-vmUSn2ykE7MsOgqMKU-xSaWd0tH77fZ0WZ3-ADOgq7-P6J9yLsqpYMrWD6POBiUaWjHHWdSXIUtZ1IxreYUAmWnSg_QqXcL4hxn3BWq3wi3MEnaiWM85ZxWtW5AUr0oznohQ15MXAasmA5AxmoXS6okmtGxPXbsC6OHpMauWD_0wK79WIMmxLcb6IYbKuvU5RmJ_qe2ySjUa7cfgFIH3oNA">