This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: C99 usage in gcc
- From: Joe Buck <Joe dot Buck at synopsys dot COM>
- To: Zack Weinberg <zack at codesourcery dot com>
- Cc: Bruce Stephens <bruce at cenderis dot demon dot co dot uk>,GCC List <gcc at gcc dot gnu dot org>
- Date: Mon, 2 Feb 2004 15:50:51 -0800
- Subject: Re: C99 usage in gcc
- References: <877jzal3rz.fsf@wasabisystems.com> <C02436AE-52C3-11D8-9D26-000393A6D2F2@physics.uc.edu> <16410.14766.949435.377839@cuddles.cambridge.redhat.com> <Pine.LNX.4.58.0401301433440.3429@wotan.suse.de> <87wu79zcos.fsf@cenderis.demon.co.uk> <873c9wt23o.fsf@codesourcery.com> <20040202153402.C7898@synopsys.com> <87brohcap1.fsf@egil.codesourcery.com>
> >> > #ifdef __cplusplus
> >> > // foo
> >> > #endif
Joe Buck <Joe.Buck@synopsys.COM> writes:
> > I disagree. There should be no warning, because the plain-C89 compiler
> > will *not* misinterpret this file. True, the // will not be interpreted
> > as a comment; since there is no token "//" in C89 it will be interpreted
> > as two / tokens. Nevertheless, the token stream with the two / tokens is
> > ifdef'ed out, so it's a don't care.
On Mon, Feb 02, 2004 at 03:40:10PM -0800, Zack Weinberg wrote:
> That is true, however, there are other constructs that *will* be
> misinterpreted: for example,
>
> #ifdef __cplusplus
> // can't happen
> #endif
>
> It is too hard to tell the difference at the point where the warning
> issues.
But -pedantic issues no warning for this case either, if // is changed to
/ /. Do you consider that a bug?