This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Configuration/Makefile cleanups


On Wed, Nov 08, 2000 at 05:25:14PM -0500, Kaveh R. Ghazi wrote:
>  > From: "Zack Weinberg" <zackw@stanford.edu>
>  > 
>  > 	* configure.in: Use gcc_AC_PROG_YACC.  Look for flex in the
>  > 	unified tree, then use AC_PROG_LEX.
> 
> 
> I'm not sure we should use anything besides bison/flex.  Otherwise we
> have the potential to cause subtle bugs which one cannot reproduce
> because a different yacc/lex was used by the person sending the
> bugreport.

I don't agree with this assessment.

> We already have this somewhat due to possible bison/flex
> version differences, but using entirely different programs makes it
> more likely IMHO.

First off, no code in GCC actually uses lex/flex.  The infrastructure
is only there for additional front ends that might want it.

There have been no substantial changes to either bison or byacc for at
least two years.  The specification of Yacc's behavior (ignoring
Bison-specific extensions) has not changed since 1994.  Therefore, I
believe the probability of "subtle bugs due to different versions of
yacc/lex" is vanishingly small even if byacc is used instead of bison.
(It's worth pointing out that both byacc and bison implement dynamic
parser stacks - again, for at least the last two years.)

Furthermore, there's a significant minority of GCC users that hacks up
the Makefile so that byacc is used anyway.  If it were going to be a
problem, we would've heard about it by now.

zw


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]