[clang] [clang][Sema] Don't warn for implicit uses of builtins in system headers (PR #138205)

Reid Kleckner via cfe-commits cfe-commits at lists.llvm.org
Fri May 2 16:48:09 PDT 2025


rnk wrote:

> follow what we did for _m_prefetchw, but it seems the same idea was tried there but that was also reverted for what seems to be the same exact problem. See https://github.com/llvm/llvm-project/pull/115099 and revert [here](https://github.com/llvm/llvm-project/commit/83ff9d4a34b1e579dd809759d13b70b8837f0cde).

That change was reverted for different reasons. I shouldn't have changed the prototype of `_mm_prefetch` there, so I'm relanding it here: https://github.com/llvm/llvm-project/pull/138360

---

So, `winnt.h` is supposed to be a system header. We already suppress warnings in system headers. Can you elaborate on why you saw a warning and felt you had to back out the last change? If someone is building with `-Wsystem-headers`, they should expect to see warnings like this. There are other cases like `__cpuidex` which are mentioned in `winnt.h`, but don't break the build:
https://github.com/llvm/llvm-project/blob/50e1db7194e70ddf235edad289e726ed5c6027b7/clang/include/clang/Basic/BuiltinsX86.td#L4491-L4498

Are you sure we need this extra change to suppress the warning?

https://github.com/llvm/llvm-project/pull/138205


More information about the cfe-commits mailing list