]> git.saurik.com Git - bison.git/commitdiff
* tests/glr-regression.at (Duplicated user destructor for lookahead):
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 19 Sep 2005 21:08:21 +0000 (21:08 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 19 Sep 2005 21:08:21 +0000 (21:08 +0000)
Mark it as expected to fail.
Cast result of malloc; problem reported by twlevo@xs4all.nl.
* tests/actions.at, tests/calc.at, tests/glr-regression.at:
Don't start user-code symbols with "yy", to avoid name space problems.

ChangeLog
tests/actions.at
tests/calc.at
tests/glr-regression.at

index 289990a594ecf1a02409e4a5192806d5182f1d4f..0905232c09877a656d5e223765970e3c2478a46e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2005-09-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * tests/glr-regression.at (Duplicated user destructor for lookahead):
+       Mark it as expected to fail.
+       Cast result of malloc; problem reported by twlevo@xs4all.nl.
+       * tests/actions.at, tests/calc.at, tests/glr-regression.at:
+       Don't start user-code symbols with "yy", to avoid name space problems.
+
 2005-09-19  Akim Demaille  <akim@epita.fr>
 
        Remove the traits, failed experiment.
index 7d7109f97dfbad4405faa827d631d49f298c45a8..5dc64ae4ba14da0724502e9c6bc07252e20e431b 100644 (file)
@@ -286,7 +286,7 @@ thing:
 ;
 %%
 /* Alias to ARGV[1]. */
-const char *yysource = 0;
+const char *source = 0;
 
 static int
 yylex (]AT_LEX_FORMALS[)
@@ -303,12 +303,12 @@ yylex (]AT_LEX_FORMALS[)
   AT_LOC.last_line = AT_LOC.last_column = AT_LOC.first_line + 9;
 ])[
 
-  if (yysource[c])
-    printf ("sending: '%c'", yysource[c]);
+  if (source[c])
+    printf ("sending: '%c'", source[c]);
   else
     printf ("sending: EOF");
   printf (" (%d@%d-%d)\n", c, RANGE (]AT_LOC[));
-  return yysource[c];
+  return source[c];
 }
 
 ]AT_LALR1_CC_IF(
@@ -340,7 +340,7 @@ main (int argc, const char *argv[])
   int status;
   yydebug = !!getenv ("YYDEBUG");
   assert (argc == 2);
-  yysource = argv[1];
+  source = argv[1];
   status = yyparse ();
   switch (status)
     {
index c666dfd3c61e085c56d186c7fe8cd44761471615..c09aac7f3669b933f4affaadfcb92dbf1dbc84b0 100644 (file)
@@ -77,8 +77,8 @@ static void yyerror (AT_YYERROR_ARG_LOC_IF([YYLTYPE *yylloc, ])
                      const char *s
                      );])[
 static int yylex (]AT_LEX_FORMALS[);
-static int yygetc (]AT_LEX_FORMALS[);
-static void yyungetc (]AT_LEX_PRE_FORMALS[ int c);
+static int get_char (]AT_LEX_FORMALS[);
+static void unget_char (]AT_LEX_PRE_FORMALS[ int c);
 %}
 
 /* Bison Declarations */
@@ -125,7 +125,7 @@ exp:
 ;
 %%
 /* The input. */
-static FILE *yyin;
+static FILE *input;
 
 ]AT_LALR1_CC_IF(
 [/* A C++ error reporting function. */
@@ -168,9 +168,9 @@ AT_YYERROR_SEES_LOC_IF([
 static YYLTYPE last_yylloc;
 ])[
 static int
-yygetc (]AT_LEX_FORMALS[)
+get_char (]AT_LEX_FORMALS[)
 {
-  int res = getc (yyin);
+  int res = getc (input);
   ]AT_USE_LEX_ARGS[;
 ]AT_LOCATION_IF([
   last_yylloc = AT_LOC;
@@ -192,37 +192,37 @@ AT_LALR1_CC_IF(
 
 
 static void
-yyungetc (]AT_LEX_PRE_FORMALS[ int c)
+unget_char (]AT_LEX_PRE_FORMALS[ int c)
 {
   ]AT_USE_LEX_ARGS[;
 ]AT_LOCATION_IF([
   /* Wrong when C == `\n'. */
   AT_LOC = last_yylloc;
 ])[
-  ungetc (c, yyin);
+  ungetc (c, input);
 }
 
 static int
 read_signed_integer (]AT_LEX_FORMALS[)
 {
-  int c = yygetc (]AT_LEX_ARGS[);
+  int c = get_char (]AT_LEX_ARGS[);
   int sign = 1;
   int n = 0;
 
   ]AT_USE_LEX_ARGS[;
   if (c == '-')
     {
-      c = yygetc (]AT_LEX_ARGS[);
+      c = get_char (]AT_LEX_ARGS[);
       sign = -1;
     }
 
   while (isdigit (c))
     {
       n = 10 * n + (c - '0');
-      c = yygetc (]AT_LEX_ARGS[);
+      c = get_char (]AT_LEX_ARGS[);
     }
 
-  yyungetc (]AT_LEX_PRE_ARGS[ c);
+  unget_char (]AT_LEX_PRE_ARGS[ c);
 
   return sign * n;
 }
@@ -258,7 +258,7 @@ yylex (]AT_LEX_FORMALS[)
 ])])[
 
   /* Skip white space.  */
-  while ((c = yygetc (]AT_LEX_ARGS[)) == ' ' || c == '\t')
+  while ((c = get_char (]AT_LEX_ARGS[)) == ' ' || c == '\t')
     {
 ]AT_LOCATION_IF([AT_LALR1_CC_IF(
 [     AT_LOC.begin = AT_LOC.end;],
@@ -270,7 +270,7 @@ yylex (]AT_LEX_FORMALS[)
   /* process numbers   */
   if (c == '.' || isdigit (c))
     {
-      yyungetc (]AT_LEX_PRE_ARGS[ c);
+      unget_char (]AT_LEX_PRE_ARGS[ c);
       ]AT_VAL[.ival = read_signed_integer (]AT_LEX_ARGS[);
       return NUM;
     }
@@ -308,11 +308,11 @@ main (int argc, const char **argv)
   alarm (100);
 
   if (argc == 2)
-    yyin = fopen (argv[1], "r");
+    input = fopen (argv[1], "r");
   else
-    yyin = stdin;
+    input = stdin;
 
-  if (!yyin)
+  if (!input)
     {
       perror (argv[1]);
       return 3;
index 966730b88041ef6424d12e7d48922f41aa26a982..1971649d063f5d2af7ce8c7f38376cf34c7e542b 100644 (file)
@@ -121,8 +121,6 @@ AT_DATA_GRAMMAR([glr-regr2a.y],
 
 %{
   #define YYSTYPE char const *
-  #define yyfalse 0
-  #define yytrue 1
 
   #include <ctype.h>
   #include <stdio.h>
@@ -168,14 +166,14 @@ var_printer: 'v'
 
 %%
 
-FILE *yyin = NULL;
+FILE *input = NULL;
 
 int
 yylex (void)
 {
   char buf[50];
   char *s;
-  switch (fscanf (yyin, " %1[a-z,]", buf)) {
+  switch (fscanf (input, " %1[a-z,]", buf)) {
   case 1:
     return buf[0];
   case EOF:
@@ -183,7 +181,7 @@ yylex (void)
   default:
     break;
   }
-  if (fscanf (yyin, "%49s", buf) != 1)
+  if (fscanf (input, "%49s", buf) != 1)
     return 0;
   if (sizeof buf - 1 <= strlen (buf))
     abort ();
@@ -201,8 +199,8 @@ yyerror (char const *s)
 int
 main (int argc, char **argv)
 {
-  yyin = stdin;
-  if (argc == 2 && !(yyin = fopen (argv[1], "r"))) return 3;
+  input = stdin;
+  if (argc == 2 && !(input = fopen (argv[1], "r"))) return 3;
   return yyparse ();
 }
 ]])
@@ -290,7 +288,7 @@ static void yyerror(char const * s) {
   fprintf(stderr,"error: %s\n",s);
 }
 
-FILE *yyin = NULL;
+FILE *input = NULL;
 
 int P[] = { P1, P2 };
 int O[] = { O1, O2 };
@@ -299,7 +297,7 @@ int T[] = { T1, T2, T3, T4 };
 int yylex (void)
 {
   char inp[3];
-  if (fscanf (yyin, "%2s", inp) == EOF)
+  if (fscanf (input, "%2s", inp) == EOF)
     return 0;
   switch (inp[0])
     {
@@ -311,8 +309,8 @@ int yylex (void)
 }
 
 int main(int argc, char* argv[]) {
-  yyin = stdin;
-  if (argc == 2 && !(yyin = fopen (argv[1], "r"))) return 3;
+  input = stdin;
+  if (argc == 2 && !(input = fopen (argv[1], "r"))) return 3;
   return yyparse ();
 }
 ]])
@@ -603,7 +601,7 @@ stack2: 'a' ;
 static int
 yylex (void)
 {
-  yylval.count = malloc (sizeof (int));
+  yylval.count = (int *) malloc (sizeof (int));
   if (!yylval.count)
     {
       fprintf (stderr, "Test inconclusive.\n");
@@ -631,8 +629,10 @@ AT_CHECK([[bison -o glr-regr7.c glr-regr7.y]], 0, [],
 ])
 AT_COMPILE([glr-regr7])
 
-AT_CHECK([[exit 77; ./glr-regr7]], 2, [],
+AT_CHECK([[./glr-regr7]], 2, [],
 [memory exhausted
 ])
 
+AT_XFAIL_IF(:)
+
 AT_CLEANUP