On Tue, May 25, 2021 at 11:18:55AM +0200, Richard Biener via Gcc-patches wrote:
> On Tue, May 25, 2021 at 11:15 AM Jakub Jelinek via Gcc-patches
> <gcc-patches@gcc.gnu.org> wrote:
> >
> > Hi!
> >
> > This TU uses exit, but doesn't include <stdlib.h> or <cstdlib> and relies
> > on some other header to include it indirectly, which apparently doesn't
> > happen on reporter's host.
> >
> > The other <c*> headers aren't guarded either and we rely on a compiler
> > capable of C++11, so maybe we can rely on <cstdlib> being around
> > unconditionally.
> >
> > Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk/11?
> 
> OK, but as the reporter notes none of the functions pulled by
> c* are std:: qualified at calls ... is this not a requirement?

Jonathan said that too.  But the functions from the other <c*> headers
are also used without std:: qualification.
In gcc/ I think we typically include both <X.h> and <cX> headers and use
the global namespace entrypoints, but perhaps we should just use std::
qualification in c++tools.

> > 2021-05-25  Jakub Jelinek  <ja...@redhat.com>
> >
> >         PR bootstrap/100731
> >         * server.cc: Include <cstdlib>.
> >
> > --- c++tools/server.cc.jj       2021-05-24 14:20:01.905748402 +0200
> > +++ c++tools/server.cc  2021-05-24 14:24:29.760813389 +0200
> > @@ -29,6 +29,7 @@ along with GCC; see the file COPYING3.
> >  #include <csignal>
> >  #include <cstring>
> >  #include <cstdarg>
> > +#include <cstdlib>
> >  // OS
> >  #include <unistd.h>
> >  #include <sys/types.h>

        Jakub

Reply via email to