2001-06-13 Michael Snyder <msnyder@redhat.com>
[deliverable/binutils-gdb.git] / gdb / m2-exp.y
index 9ec896f28646b450fea6629bf5802fac105b7941..eaaad5a3882a110f43af4cb63ec865f3c0f28d3c 100644 (file)
@@ -1,5 +1,6 @@
 /* YACC grammar for Modula-2 expressions, for GDB.
-   Copyright (C) 1986, 1989, 1990, 1991, 1993, 1994, 1995
+   Copyright 1986, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1999,
+   2000
    Free Software Foundation, Inc.
    Generated from expread.y (now c-exp.y) and contributed by the Department
    of Computer Science at the State University of New York at Buffalo, 1991.
@@ -40,7 +41,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 %{
 
 #include "defs.h"
-#include <string.h>
+#include "gdb_string.h"
 #include "expression.h"
 #include "language.h"
 #include "value.h"
@@ -100,22 +101,17 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #define        YYDEBUG 0               /* Default to no yydebug support */
 #endif
 
-int
-yyparse PARAMS ((void));
+int yyparse (void);
 
-static int
-yylex PARAMS ((void));
+static int yylex (void);
 
-void
-yyerror PARAMS ((char *));
+void yyerror (char *);
 
 #if 0
-static char *
-make_qualname PARAMS ((char *, char *));
+static char *make_qualname (char *, char *);
 #endif
 
-static int
-parse_number PARAMS ((int));
+static int parse_number (int);
 
 /* The sign of the number being parsed. */
 static int number_sign = 1;
@@ -135,8 +131,8 @@ static struct block *modblock=0;
 %union
   {
     LONGEST lval;
-    unsigned LONGEST ulval;
-    double dval;
+    ULONGEST ulval;
+    DOUBLEST dval;
     struct symbol *sym;
     struct type *tval;
     struct stoken sval;
@@ -829,7 +825,7 @@ yylex ()
 
 
   /* See if it is a special token of length 2 */
-  for( i = 0 ; i < sizeof tokentab2 / sizeof tokentab2[0] ; i++)
+  for( i = 0 ; i < (int) (sizeof tokentab2 / sizeof tokentab2[0]) ; i++)
      if(STREQN(tokentab2[i].name, tokstart, 2))
      {
        lexptr += 2;
@@ -986,7 +982,7 @@ yylex ()
   lexptr += namelen;
 
   /*  Lookup special keywords */
-  for(i = 0 ; i < sizeof(keytab) / sizeof(keytab[0]) ; i++)
+  for(i = 0 ; i < (int) (sizeof(keytab) / sizeof(keytab[0])) ; i++)
      if(namelen == strlen(keytab[i].keyw) && STREQN(tokstart,keytab[i].keyw,namelen))
           return keytab[i].token;
 
@@ -1048,7 +1044,12 @@ yylex ()
          error("internal:  Undefined class in m2lex()");
 
        case LOC_LABEL:
+       case LOC_UNRESOLVED:
          error("internal:  Unforseen case in m2lex()");
+
+       default:
+         error ("unhandled token in m2lex()");
+         break;
        }
     }
     else
This page took 0.041842 seconds and 4 git commands to generate.