<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/162846>162846</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
feature: Per-module -fmodules-decluse (-fmodules-decluse=<module_name>)
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
torarnv
</td>
</tr>
</table>
<pre>
I’m setting up Clang module maps for Qt and thought I’d use -fmodules-decluse to test my work. Unfortunately, enabling -fmodules-decluse results in quite a few errors of this kind:
```
While building module '_DarwinFoundation2' imported from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h:61:
In file included from <module-includes>:1:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/nl_types.h:44:10: error: module _DarwinFoundation2 does not directly depend on a module exporting 'sys/cdefs.h', which is part of indirectly-used module cdefs
44 | #include <sys/cdefs.h>
| ^
```
Which doesn't seem possible to work around.
As suggesteded in https://discourse.llvm.org/t/fmodules-decluse-resulting-in-errors-from-xcode-sdk/88267 a `-fmodules-decluse=<module_name>` might be a useful addition to the modules machinery.
Thanks!
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzMVMFu4zYQ_Rr6MpBBUbZsHXRw4whYFEW32Bbd24ISRxIbilQ5ZLz--4KSknSTS481BFgYzSPn8b1HSaQHi1iz40_seN3JGEbn6-C89PZ51zp1rz-xR8HOnFXVBIQhaDtAnOHBSDvA5FQ0CJOcCXrn4bcA0ioIo4vDGOANqyASQtavAMoUdiZVgoOAFGC6w835pz38YXvnQ7QyoLkz8QBoZWvSph_BHimaQKAt_B11QJDQ4w3Qe-cJXA9h1ARP2ipWXBhfnpJvD7_8OWqD0EZtlH7jwsTp21X6m7aNi1bJoJ0VTJxAT7PzARX03k3ARHOZZ6O7pYGYaL52TuFezjMTzYOzAW1I5Ss-o3Ezeiaaz0aG3vkp1X-R3a9fvu7nrfSu88v15381kXpioomUvmjbmaiQiYaC0m4_suJS5ivBTxb6xGnreRm1eFi5ZVudWPHIissG-h8wseZbuM9IC5nDIc3GWXFZlUwvmzYfhQHlkMC6AEp77IK5g8IZrQJnQb7g8HuSLonMxInuaZ5OYZ_2E6dkstuouxE0wSx9SM7R9mW9LBKql4UWFOMXADgcgJ0egIli45HO-ce1i8e1FWBpff2x4-M7K65u7MaFjmXiFIAQJ5gdkW7NkpOUD5A-cd-vkAsBxWFACpjE1hbGEGZKsoqGiUZp6lz0hHtjnqe98wMTTWCieZ-kbE2StkOmbbbmJ0veyb4nK2SrauezKE8ggZX8QxZZcX212TcrJ0zkSw6TTvdAm6IZCftoQCqlk3RL9EfcTpZgkt2oLfr7Ru73UdonYiLfqbpQVVHJHdb5qeQ5P4qq2o01yrbkhcTijP2p6nIpVVuVgueFPFfHQ77TteDimPOc5wd-zs_7ouNth8dCFJXilZLswHGS2ryez04TRazzUpwP5c7IFg0tl6MQFm-wfGVCpLvS1wmUtXEgduBGU6C3ZYIOBuseZYgek4E_o882D328x5g4_7cDFdUuelP_qPKgwxjbfedS8tIE2182e_cXdknvZe7kzI3Ycy3-CQAA___0LPjs">