Subject: Re: [bug#59992] [PATCH 1/2] tests: Fix 'type defaults' error in link_cond due to main not being properly declared

From: Frederic Berat <[email-masked]>
Date: Thu, 15 Dec 2022 08:12:35 +0100

For the record:

cat > less.c <<'END'
/* Valid C but deliberately invalid C++ */
int main (void)
{
  int new = 0;
  return new;
}
END

$> g++ less.c
less.c: In function ‘int main()’:
less.c:4:7: error: expected unqualified-id before ‘new’
    4 |   int new = 0;
      |       ^~~
less.c:5:13: error: expected type-specifier before ‘;’ token
    5 |   return new;
      |             ^

On Tue, Dec 13, 2022 at 7:35 AM Frederic Berat <[email-masked]> wrote:
>
> On Mon, Dec 12, 2022 at 9:15 PM Zack Weinberg <[email-masked]> wrote:
> >
> > On 2022-12-12 2:05 AM, Frederic Berat wrote:
> > > This is related to an effort to prepare Automake for future GCC/Clang
> > > versions which set c99 as default standard to be used.
> > > Not properly declaring main as "int main(...)" is rejected since c99.
> > ...
> > >   /* Valid C but deliberately invalid C++ */
> > > -main ()
> > > +int main (void)
> >
> > Note the comment.  Is this test program still invalid C++ after your change?
>
> I assumed yes, since "new" should be a standard symbol, but I actually
> forgot to double check.
>
> >
> > zw
> >
> >
> >
> >