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. Jakub