On 11/17/22 13:35, Bruno Haible wrote:

Clang will surely not acquire knowledge about "every library", right,
only about the C library according to relevant standards (ISO C, POSIX)?

I don't know the Clang developers' plans. But if I wanted Clang to be picky then yes, I'd have it know about every library the program links to. It's some work but doable via techniques like -flto. Let's hope this isn't enabled by default.


There is a
documented way to ask Clang and GCC "assume a free-standing implementation,
not an environment that has the ISO C / POSIX / LSB / ... functions":
   1) -ffreestanding         [1][2]
   2) -fno-builtin

Thanks, good suggestion. If this suffices to pacify Clang, we can use it in Autoconf: that is, we cause ./configure to link a simple program with -fno-builtin and if that works, then ./configure uses -fno-builtin when doing "does this function exist?" link-time tests.

This hack wouldn't suffice if Clang starts doing link-time type checking by default. However, link-time type checking doesn't seem to be on the Clang developers' to-do list, so we should be OK at least for now.

Reply via email to