<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Jun 22, 2015 at 6:05 PM, Sean Silva <span dir="ltr"><<a href="mailto:chisophugis@gmail.com" target="_blank">chisophugis@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi All,<div><br></div><div>With the change to use target attributes in the builtin headers, we are now in a weird situation where all of the `requires` inside lib/Headers/module.modulemap are basically useless. They are included regardless of the status of their `requires`. My pending patch <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__reviews.llvm.org_D10423&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=CnzuN65ENJ1H9py9XLiRvC_UQz6u3oG6GUNn7_wosSM&m=WNqbykzRji_pdm5BcHkqfMJo1bYKYV7gep-0QTbCVEo&s=0baU03m5kCZ6EQ8gdG0JW9WwNV_RDZiYBRhw1YjcELo&e=" target="_blank">http://reviews.llvm.org/D10423</a> then causes a build failure because we try to import unavailable modules; without it, we just textually include them which causes the declarations to appear to be owned by different modules than expected.</div><div><br></div><div>Any ideas? It seems like to keep semantic parity with the "all intrinsic headers can be brought in" when textually including, we should remove the `requires`.</div></div></blockquote><div><br></div><div>We should keep the 'requires x86' on _Builtin_intrinsics.intel, but remove all the subtarget 'requires' declarations from its submodules.</div></div></div></div>