Artem-B wrote: > So the language options are not guaranteed to be the same between the host > and device compilations?
I think it's more of the case that builtins are rarely tagged as language-specific, so, as implemented, this filtering is a very blunt hammer, even if we do consistently filter out builtins the same way in both host and device compilations. Given that `Languages` is also contaminated with non-language things like MS_LANG, it's just not quite suitable for making the call whether some builtin should be visible. > It sounds like really what we need here then is something like a > __aux_target_has_builtin It could have some uses, but a bigger question would be -- how far would we want to propagate it into headers that are otherwise agnostic of heterogeneous compilations. If we do want to make headers reliably interoperable between host/device, it's a much bigger problem, considering that there are multiple ways of doing it, each with their own quirks. For now we've been getting by with a case by case workarounds. I'm doubtful that we'll ever have a universal solution. https://github.com/llvm/llvm-project/pull/154217 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits