* tests/glr-regr1.at (Badly Collapsed GLR States): Prototype yylex
authorAkim Demaille <akim@epita.fr>
Mon, 4 Nov 2002 08:30:18 +0000 (08:30 +0000)
committerAkim Demaille <akim@epita.fr>
Mon, 4 Nov 2002 08:30:18 +0000 (08:30 +0000)
and yyerror.
Have yyerror `use' its arguments.
* tests/calc.at (AT_CHECK_PUSHDEFS): AT_YYERROR_SEES_LOC_IF
returns true when location & yacc & pure & parse-param.
(_AT_DATA_CALC_Y): Let yyerror ``use'' its arguments.

ChangeLog
tests/calc.at
tests/glr-regr1.at

index 46a0845..b5f60f8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2002-11-04  Akim Demaille  <akim@epita.fr>
 
+       * tests/glr-regr1.at (Badly Collapsed GLR States): Prototype yylex
+       and yyerror.
+       Have yyerror `use' its arguments.
+       * tests/calc.at (AT_CHECK_PUSHDEFS): AT_YYERROR_SEES_LOC_IF
+       returns true when location & yacc & pure & parse-param.
+       (_AT_DATA_CALC_Y): Let yyerror ``use'' its arguments.
+
+2002-11-04  Akim Demaille  <akim@epita.fr>
+
        * src/location.h (LOCATION_PRINT): Use quotearg slot 3 to avoid
        clashes.
        * src/scan-gram.l: Use [\'] instead of ['] to pacify
index 82674c1..4399d25 100644 (file)
@@ -158,6 +158,7 @@ yyerror (const char *s
          ]AT_YYERROR_ARG_LOC_IF([, YYLTYPE *yylloc])[
          ]AT_PARAM_IF([, value_t *result, int *count])[)
 {
+]AT_PARAM_IF([(void) result; (void) count; ])[
 ]AT_YYERROR_SEES_LOC_IF([
   fprintf (stderr, "%d.%d-%d.%d: ",
           LOC.first_line, LOC.first_column,
@@ -441,10 +442,11 @@ m4_pushdef([AT_GLR_OR_PARAM_IF],
 m4_pushdef([AT_YYERROR_ARG_LOC_IF],
 [AT_GLR_OR_PARAM_IF([AT_PURE_AND_LOC_IF([$1], [$2])],
                     [$2])])
-# yyerror cannot see the locations if !glr & pure.
+# yyerror cannot see the locations if !glr & pure & !param.
 m4_pushdef([AT_YYERROR_SEES_LOC_IF],
 [AT_LOCATION_IF([AT_GLR_IF([$1],
-                           [AT_PURE_IF([$2], [$1])])],
+                           [AT_PURE_IF([AT_PARAM_IF([$1], [$2])],
+                                       [$1])])],
                 [$2])])
 ])
 
index 8c19640..39b7b9a 100644 (file)
@@ -29,6 +29,8 @@ AT_DATA([glr-regr1.y],
 
 #define YYSTYPE int
 static YYSTYPE exprMerge (YYSTYPE x0, YYSTYPE x1);
+int yylex (void);
+int yyerror (char const *msg);
 %}
 
 
@@ -52,24 +54,29 @@ E: E 'P' E { $$=1; printf("E -> E 'P' E\n"); }  %merge <exprMerge>
 
 static YYSTYPE exprMerge (YYSTYPE x0, YYSTYPE x1)
 {
+  (void) x0;
+  (void) x1;
   printf ("<OR>\n");
   return 0;
 }
 
-int main()
+int
+main (void)
 {
   yyparse();
   return 0;
 }
 
-int yyerror(char const *msg)
+int
+yyerror (char const *msg)
 {
   printf("%s\n", msg);
   exit(4);
 }
 
 
-int yylex()
+int
+yylex (void)
 {
   while (1) {
     int ch = fgetc(stdin);
@@ -86,7 +93,7 @@ AT_CHECK([[bison -o glr-regr1.c glr-regr1.y]], 0, [],
 [glr-regr1.y: warning: 1 shift/reduce conflict
 ])
 AT_COMPILE([glr-regr1])
-AT_CHECK([[echo BPBPB | ./glr-regr1]], 0, 
+AT_CHECK([[echo BPBPB | ./glr-regr1]], 0,
 [[E -> 'B'
 E -> 'B'
 E -> E 'P' E