On Fri, May 24, 2013 at 2:28 PM, Jakub Jelinek <ja...@redhat.com> wrote: > On Fri, May 24, 2013 at 02:23:45PM +0200, Richard Biener wrote: >> But for example memset/memcpy always have that set, even if no prototype >> is in the source. So, is that decl_implicit_p really supposed to tell us >> whether we've seen a compatible prototype? > > decl_implicit_p isn't whether we've seen a compatible prototype, but whether > it is ok for the compiler to make calls to that function, even when there > were none in the source. Usually this comes from how we define the builtin > in builtins.def, whether it is a standard required function or some > extension beyond the standard. And for stpcpy right now we are using this > way (kind of hack). > >> Right, that would be good enough for C and C++ - but what to do for Fortran? > > Sure. So what about have a -f{,no-}builtin-implicit-{builtin_name} > with the default as is right now, that would just tweak decl_implicit_p if > decl_explicit_p is true.
That works for me. We could still have a way for targets to override the default here. Richard. > Jakub