[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Another - Bison 1.35 works but Bison 1.50 Doesn't

From: Paul Eggert
Subject: Re: Another - Bison 1.35 works but Bison 1.50 Doesn't
Date: Sun, 13 Oct 2002 02:02:32 -0700 (PDT)

> From: Akim Demaille <address@hidden>
> Date: 13 Oct 2002 09:28:13 +0200

> | 2002-10-12  Paul Eggert  <address@hidden>
> | 
> |     * src/reader.c (grammar_current_rule_check):
> |     Don't worry about the default action if $$ is untyped.
> |     Prevents bogus warnings reported by Jim Gifford in
> |     <http://mail.gnu.org/pipermail/bug-bison/2002-October/001673.html>.
> Hm...  Are you sure we want this?  What does POSIX say?

POSIX says this of both $$ and $1:

   If type checking is enabled and the type of the value to be
   assigned cannot be determined, a diagnostic message may be

So the message is optional for the default action "$$ = $1;".

> I tend to think that type checking is soo weak with Yaccs, that being
> a little paranoid can only help here.

I agree with you in general, but I'm not so sure about this particular
case.  To my mind, that warning was a bit like warning about the C
statement `close (0);'.  In both cases the programmer is implicitly
discarding a value.  But the GNU coding standards ask programmers to
not write an explicit cast to (void) in the C case, implying that such
a warning is bogus for the C statement.  The Bison case seems similar
to me.  Jim Gifford supplied a real grammar where the warning was a
false alarm.  We don't have an exhaustive survey here by any means,
but I tend to think such cases will dominate the cases where the
warning is useful.

I suppose we could enable the extra warning as an option.  But in the
meantime I'd rather omit it.

> I *fixed* a bug here, before Bison was not complaining for such
> cases when there was a midrule action, that's the only difference
> with 1.35.

Do you have a URL for the bug that you fixed?  The fixes shouldn't
collide, since the fix mentioned above affects only the default
action, not midrule actions.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]