<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/117661>117661</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
clang-scan-deps not generate cxxmodules info correctly when module name contains keyword like friend, union, etc.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
vrecluse
</td>
</tr>
</table>
<pre>
if my module name like this:
```
export module mod.friend;
```
and clang-scan-deps command:
```
clang-scan-deps --format=p1689 -- F:\llvm19\bin\clang -x c++ -c mod.cppm -o build\.objs\test\windows\x64\release\mod.cppm.obj -Qunused-arguments -m64 -std=c++23 -fexceptions -fcxx-exceptions
```
the generated info in cxxmodules is
```
["build\\.objs\\test\\windows\\x64\\release\\mod.cppm.obj"] = {
cppfile = "mod.cppm"
},
```
seems it's treated as normal cpp file.
but if I changed the module name:
```
export module mod.my_friend;
```
It generates correctly.
```
["build\\.objs\\test\\windows\\x64\\release\\mod.cppm.obj"] = {
provides = {
["mod.my_friend"] = {
bmi = [[build\.gens\test\windows\x64\release\rules\bmi\cache\modules\574a3743\mod.my_friend.pcm]],
interface = true,
sourcefile = "mod.cppm"
}
}
},
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMVdGOqzgM_ZrwYgXRUGD6wMOUqtJ93C9YhcRA7iUJSsK0_ftVKO1MudrdebwRUivn2PjYx4Z7r3qDWJPiSIpTwucwWFd_OBTj7DFprbzVqgN9A23lPCIYrhFG9QshDMqT_J1k76TM1id7x-tkXXigtZVp5xQaSfIjbKDcSBAjNz31ghsqcfIgrNY8ordxt0BKO-s0DyQ_Tbvy7QCUwjm6Fc04fujdgRRNqwwpmsUT6BUEYUfCjkDFkpeYJg3UQjurUZKiSW3705OiCegDKZqLMtJeouFa7knROByReyRF83CODkD_ms3sUVLu-lmjCR6oLvdAfZAkP63vZDnQDq8Cp6Cs8UA7cb3ST8OGbBgQejToeEAJynQWlAFxvd7L6kH5bTEhdpCxB5kvfD4pvbB6EnvhtqFHGCPFCUh-AlId42s2R0xTp0a8Ixh7-Ea_VzCpToQ1m6Q9ovagAmGVh-Bwocs9mNjaMQaHGD0l2Xs7B1Ad_AAxcNOjhFijL5r8jhL17e-nGDfgH-FZ8ChC51CE8Zb-GUWenP1QEv1_QJYSL8m9Ev2_0I_TanVHxT1wfI5Ej-ZbI-GiKuPEaRUnjothHZTVXlR7nlf7fGX-zC-dhCbFKT6LOECZgK7j4q6o4GZcL_7leDs7gd-T4Fcp_n6zWn_XaSLrXB7yA0-w3lU5K97KfVYmQ921WZbLvehQCskO7UHy4q1DkVWs5HleJapmGdvvdqzMWJZlZSqyt92bLBFz7A5lh2SfoeZqTOPKSq3rE-X9jPVuV5XlLhl5i6Ov7301eIHl9t7TxNXRibZz78k-G5UP_jNMUGHEerszjf1U-cs2iQvmKXq4DGhe1r2wJnBlPPzC28U6ed__D4U1MBtlTfyDQaTJ7MZ6CGFaPg7sTNi5V2GY21RYTdg55rj-0MnZnygCYeeFmSfsvFL_qNk_AQAA__-k6fKH">