Hello, On Wed, 16 Nov 2022, Paul Eggert wrote: > On 2022-11-16 06:26, Michael Matz wrote: > > char foobar(void); > > int main(void) { > > return &foobar != 0; > > } > > That still has undefined behavior according to draft C23, This is correct (and also holds for the actually working variant later, with a volatile variable). If your argument is then that as both solutions for the link-test problem are relying on undefined behaviour they are equivalent and hence no change is needed, you have a point, but I disagree. In practice one (with the call) will cause more problems than the other (with address taking). > If Clang's threatened pickiness were of some real use elsewhere, it > might be justifiable for default Clang to break Autoconf. But so far we > haven't seen real-world uses that would justify this pickiness for > Autoconf's use of 'char memset_explicit(void);'. Note that both, GCC and clang, already warn (not error out!) about the mismatching decl, even without any headers. So we are in the pickiness era already. I.e. a C file containing just a single line "char printf(void);" will be warned about, by default. There is about nothing that autoconf could do to rectify this, except containing a long list of prototypes for well-known functions, with the associated maintenance hassle. But autoconf _can_ do something about how the decls are used in the link-tests. Ciao, Michael.