-# Checking the output filenames.                         -*- Autotest -*-
+# Simple calculator.                         -*- Autotest -*-
 # Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # include <stdlib.h>
 # include <string.h>
 #endif
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#else
+# undef alarm
+# define alarm(seconds) /* empty */
+#endif
 #include <ctype.h>
 
 extern void perror (const char *s);
 | '(' exp ')'        { $$ = $2;             }
 | '(' error ')'      { $$ = 1111;           }
 | '!'                { YYERROR;             }
+| '-' error          { YYERROR;             }
 ;
 %%
 /* The input. */
   int count = 0;
   int status;
 
+  alarm (10);
   if (argc == 2)
     yyin = fopen (argv[1], "r");
   else
 
 # The same, but this time exercising explicitly triggered syntax errors.
 # POSIX says the lookahead causing the error should not be discarded.
-_AT_CHECK_CALC_ERROR([$1], [0], [(!) + (0 0) = 1], [64],
+_AT_CHECK_CALC_ERROR([$1], [0], [(!) + (0 0) = 1], [62],
 [1.9: syntax error, unexpected "number"
 calc: error: 2222 != 1])
+_AT_CHECK_CALC_ERROR([$1], [0], [(- *) + (0 0) = 1], [70],
+[1.3: syntax error, unexpected '*', expecting "number" or '-' or '(' or '!'
+1.11: syntax error, unexpected "number"
+calc: error: 2222 != 1])
 AT_BISON_OPTION_POPDEFS
 
 AT_CLEANUP