https://github.com/AaronBallman commented:

Thank you for working on this! Please be sure to add a release note to 
`clang/docs/ReleaseNotes.rst` so users know about the change. You should also 
update the PR summary to explain why the changes are being made because that 
summary is what ends up being the [commit 
message](https://llvm.org/docs/DeveloperPolicy.html#commit-messages).

Was an AI used to assist with this PR? If so, please let us know in the summary 
so we're aware (as part of our [AI use 
policies](https://llvm.org/docs/AIToolPolicy.html)).

Precommit CI found relevant test failures that need to be addressed. But one 
thing we also need to think about is how our builtins relate to the runtime 
library being used. C standard library functions are a bit odd in that they're 
not necessarily tied to a language mode. e.g., in C you can declare your own 
library functions without including a header, what matters is whether the 
symbol is known at link time and at runtime. So if you have a newer CRT, you 
can still call those newer functions from older language modes. And we use 
these builtins files to track more than just whether a name is reserved or not 
(e.g., we recognize library builtins by name and replace them with builtin 
calls sometimes: https://godbolt.org/z/GGG78YboM). I didn't have the chance to 
thoroughly look at the list of APIs, but we should be careful not to break code 
with this change if any later C functions are recognized in an earlier mode for 
something other than reserved identifier or symbol conflict diagnostics.

https://github.com/llvm/llvm-project/pull/190244
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to