[Top][All Lists]

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

Re: too many warnings from Bison CVS for Pike

From: Akim Demaille
Subject: Re: too many warnings from Bison CVS for Pike
Date: Mon, 20 Feb 2006 15:39:00 +0100
User-agent: Gnus/5.110004 (No Gnus v0.4) Emacs/21.4 (gnu/linux)

>>> "Hans" == Hans Aberg <address@hidden> writes:

 > On 13 Feb 2006, at 20:41, Paul Eggert wrote:
 >>> I said that I recall you use(d), under C, memcpy to reallocate the
 >>> parser stack.
 >> No, not if the compiler defines __cplusplus.  If the compiler defines
 >> __cplusplus, yacc.c does not use memcpy at all.

(I don't remember why it's like this, but it's already something that
seems to be too much in favor of C++: I would have used memcpy.)

 > I saw that, and that is also inherent in the comments I made: When
 > compiled using a C++ compiler, only the static C-parserstack is used,
 > which does not use memcpy. This leads to a non-standard C++ container
 > semantics, as the whole array is initialized when first created at
 > parser invocation, and when the stack shrinks, only a pointer to the
 > array is changed, so the C++ destructors will not be invoked. A
 > proper C++ container would do these things immediately at need only
 > as the stack grows and shrinks.

You're referring to yacc.c, and all your comments about how to do C++
using yacc.c is irrelevant and a pure waste of time.  If you want to
play C++, use lalr1.cc, period.  If you don't like it, use another.
But let's stop this useless debate and go back to work.

reply via email to

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