diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 309f20bccb..573130b1f3 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,14 @@ +Thu Dec 31 11:06:38 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (BISON): Add comment that when bison is used, it + must include the "-y" option. + * c-exp.y, m2-exp.y (yyrule, yyname, yyss, yyssp, yyvs, yyvsp): + Remove defines to remap non-yacc symbols, thus backing out of + previous recent changes. Standard policy is that non-yacc parser + generators get fixed, rather than adding bug workarounds in gdb + for each new one that pops up. Expand comment to note this. + * c-exp.y, m2-exp.y (YYDEBUG): Revert back to disabled by default. + Thu Dec 31 09:03:02 1992 Stu Grossman (grossman at cygnus.com) * partial-stab.h (near N_BINCL): Remove redundant code in N_BINCL diff --git a/gdb/Makefile.in b/gdb/Makefile.in index 1c75f09027..ce1bead354 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -75,6 +75,8 @@ srcdir = . # CFLAGS section if your system doesn't have fcntl.h in /usr/include (which # is where it should be according to Posix). +# If you use bison instead of yacc, it needs to include the "-y" argument. +#BISON="bison -y" BISON=yacc YACC=$(BISON) diff --git a/gdb/c-exp.y b/gdb/c-exp.y index f041864801..31a1babf31 100644 --- a/gdb/c-exp.y +++ b/gdb/c-exp.y @@ -43,9 +43,13 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "language.h" #include "c-lang.h" -/* These MUST be included in any grammar file!!!! Please choose unique names! - Note that this are a combined list of variables that can be produced - by any one of bison, byacc, or yacc. */ +/* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc), + as well as gratuitiously global symbol names, so we can have multiple + yacc generated parsers in gdb. Note that these are only the variables + produced by yacc. If other parser generators (bison, byacc, etc) produce + additional global names that conflict at link time, then those parser + generators need to be fixed instead of adding those names to this list. */ + #define yymaxdepth c_maxdepth #define yyparse c_parse #define yylex c_lex @@ -73,28 +77,22 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #define yy_yyv c_yyv #define yyval c_val #define yylloc c_lloc -#define yyrule c_rule /* With YYDEBUG defined, byacc */ -#define yyname c_name /* With YYDEBUG defined, byacc */ #define yyreds c_reds /* With YYDEBUG defined */ #define yytoks c_toks /* With YYDEBUG defined */ -#define yyss c_yyss /* byacc */ -#define yyssp c_yysp /* byacc */ -#define yyvs c_yyvs /* byacc */ -#define yyvsp c_yyvsp /* byacc */ + +#ifndef YYDEBUG +#define YYDEBUG 0 /* Default to no yydebug support */ +#endif int yyparse PARAMS ((void)); -int +static int yylex PARAMS ((void)); void yyerror PARAMS ((char *)); -#if MAINTENANCE_CMDS -#define YYDEBUG 1 -#endif - %} /* Although the yacc "value" of an expression is not used, diff --git a/gdb/ch-exp.y b/gdb/ch-exp.y index 5e677bbfd6..79871132fc 100644 --- a/gdb/ch-exp.y +++ b/gdb/ch-exp.y @@ -60,9 +60,13 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "parser-defs.h" #include "ch-lang.h" -/* These MUST be included in any grammar file!!!! Please choose unique names! - Note that this are a combined list of variables that can be produced - by any one of bison, byacc, or yacc. */ +/* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc), + as well as gratuitiously global symbol names, so we can have multiple + yacc generated parsers in gdb. Note that these are only the variables + produced by yacc. If other parser generators (bison, byacc, etc) produce + additional global names that conflict at link time, then those parser + generators need to be fixed instead of adding those names to this list. */ + #define yymaxdepth chill_maxdepth #define yyparse chill_parse #define yylex chill_lex @@ -90,14 +94,15 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #define yy_yyv chill_yyv #define yyval chill_val #define yylloc chill_lloc -#define yyrule chill_rule /* With YYDEBUG defined, byacc */ -#define yyname chill_name /* With YYDEBUG defined, byacc */ #define yyreds chill_reds /* With YYDEBUG defined */ #define yytoks chill_toks /* With YYDEBUG defined */ -#define yyss chill_yyss /* byacc */ -#define yyssp chill_yysp /* byacc */ -#define yyvs chill_yyvs /* byacc */ -#define yyvsp chill_yyvsp /* byacc */ + +#ifndef YYDEBUG +#define YYDEBUG 0 /* Default to no yydebug support */ +#endif + +int +yyparse PARAMS ((void)); static int yylex PARAMS ((void)); @@ -105,13 +110,6 @@ yylex PARAMS ((void)); void yyerror PARAMS ((char *)); -int -yyparse PARAMS ((void)); - -#if MAINTENANCE_CMDS -#define YYDEBUG 1 -#endif - %} /* Although the yacc "value" of an expression is not used, diff --git a/gdb/m2-exp.y b/gdb/m2-exp.y index 0132e033c3..f3ced60ac5 100644 --- a/gdb/m2-exp.y +++ b/gdb/m2-exp.y @@ -45,9 +45,13 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "parser-defs.h" #include "m2-lang.h" -/* These MUST be included in any grammar file!!!! Please choose unique names! - Note that this are a combined list of variables that can be produced - by any one of bison, byacc, or yacc. */ +/* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc), + as well as gratuitiously global symbol names, so we can have multiple + yacc generated parsers in gdb. Note that these are only the variables + produced by yacc. If other parser generators (bison, byacc, etc) produce + additional global names that conflict at link time, then those parser + generators need to be fixed instead of adding those names to this list. */ + #define yymaxdepth m2_maxdepth #define yyparse m2_parse #define yylex m2_lex @@ -75,14 +79,21 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #define yy_yyv m2_yyv #define yyval m2_val #define yylloc m2_lloc -#define yyrule m2_rule /* With YYDEBUG defined, byacc */ -#define yyname m2_name /* With YYDEBUG defined, byacc */ #define yyreds m2_reds /* With YYDEBUG defined */ #define yytoks m2_toks /* With YYDEBUG defined */ -#define yyss m2_yyss /* byacc */ -#define yyssp m2_yysp /* byacc */ -#define yyvs m2_yyvs /* byacc */ -#define yyvsp m2_yyvsp /* byacc */ + +#ifndef YYDEBUG +#define YYDEBUG 0 /* Default to no yydebug support */ +#endif + +int +yyparse PARAMS ((void)); + +static int +yylex PARAMS ((void)); + +void +yyerror PARAMS ((char *)); #if 0 static char * @@ -92,15 +103,6 @@ make_qualname PARAMS ((char *, char *)); static int parse_number PARAMS ((int)); -static int -yylex PARAMS ((void)); - -void -yyerror PARAMS ((char *)); - -int -yyparse PARAMS ((void)); - /* The sign of the number being parsed. */ static int number_sign = 1; @@ -110,10 +112,6 @@ static int number_sign = 1; static struct block *modblock=0; #endif -#if MAINTENANCE_CMDS -#define YYDEBUG 1 -#endif - %} /* Although the yacc "value" of an expression is not used,