2006-12-31 H.J. Lu <hongjiu.lu@intel.com>
[deliverable/binutils-gdb.git] / gdb / ada-lex.l
index f8746eca9dbc531ee7bd4bca1d7d301e83854010..7ece1090c967cf8f9a7ac8dffed83fdd2768f944 100644 (file)
@@ -124,11 +124,11 @@ static int find_dot_all (const char *);
                }
 
 {NUM10}"#"{NUM16}"."{NUM16}"#"{EXP} {
-                   error ("Based real literals not implemented yet.");
+                   error (_("Based real literals not implemented yet."));
                }
 
 {NUM10}"#"{NUM16}"."{NUM16}"#" {
-                   error ("Based real literals not implemented yet.");
+                   error (_("Based real literals not implemented yet."));
                }
 
 <INITIAL>"'"({GRAPHIC}|\")"'" {
@@ -151,7 +151,7 @@ static int find_dot_all (const char *);
                }
 
 \"              {
-                   error ("ill-formed or non-terminated string literal");
+                   error (_("ill-formed or non-terminated string literal"));
                }
 
 
@@ -264,7 +264,7 @@ xor         { return XOR; }
 
        /* CATCH-ALL ERROR CASE */
 
-.              { error ("Invalid character '%s' in expression.", yytext); }
+.              { error (_("Invalid character '%s' in expression."), yytext); }
 %%
 
 #include <ctype.h>
@@ -296,68 +296,6 @@ canonicalizeNumeral (char *s1, const char *s2)
   s1[0] = '\000';
 }
 
-#define HIGH_BYTE_POSN ((sizeof (ULONGEST) - 1) * HOST_CHAR_BIT)
-
-/* True (non-zero) iff DIGIT is a valid digit in radix BASE,
-   where 2 <= BASE <= 16.  */
-
-static int
-is_digit_in_base (unsigned char digit, int base)
-{
-  if (!isxdigit (digit))
-    return 0;
-  if (base <= 10)
-    return (isdigit (digit) && digit < base + '0');
-  else
-    return (isdigit (digit) || tolower (digit) < base - 10 + 'a');
-}
-
-static int
-digit_to_int (unsigned char c)
-{
-  if (isdigit (c))
-    return c - '0';
-  else
-    return tolower (c) - 'a' + 10;
-}
-
-/* As for strtoul, but for ULONGEST results.  */
-
-ULONGEST
-strtoulst (const char *num, const char **trailer, int base)
-{
-  unsigned int high_part;
-  ULONGEST result;
-  int i;
-  unsigned char lim;
-
-  if (base < 2 || base > 16)
-    {
-      errno = EINVAL;
-      return 0;
-    }
-  lim = base - 1 + '0';
-
-  result = high_part = 0;
-  for (i = 0; is_digit_in_base (num[i], base); i += 1)
-    {
-      result = result*base + digit_to_int (num[i]);
-      high_part = high_part*base + (unsigned int) (result >> HIGH_BYTE_POSN);
-      result &= ((ULONGEST) 1 << HIGH_BYTE_POSN) - 1;
-      if (high_part > 0xff)
-       {
-         errno = ERANGE;
-         result = high_part = 0;
-         break;
-       }
-    }
-
-  if (trailer != NULL)
-    *trailer = &num[i];
-
-  return result + ((ULONGEST) high_part << HIGH_BYTE_POSN);
-}
-
 /* Interprets the prefix of NUM that consists of digits of the given BASE
    as an integer of that BASE, with the string EXP as an exponent.
    Puts value in yylval, and returns INT, if the string is valid.  Causes
@@ -380,7 +318,7 @@ processInt (const char *base0, const char *num0, const char *exp0)
     {
       base = strtol (base0, (char **) NULL, 10);
       if (base < 2 || base > 16)
-       error ("Invalid base: %d.", base);
+       error (_("Invalid base: %d."), base);
     }
 
   if (exp0 == NULL)
@@ -391,14 +329,14 @@ processInt (const char *base0, const char *num0, const char *exp0)
   errno = 0;
   result = strtoulst (num0, (const char **) &trailer, base);
   if (errno == ERANGE)
-    error ("Integer literal out of range");
+    error (_("Integer literal out of range"));
   if (isxdigit(*trailer))
-    error ("Invalid digit `%c' in based literal", *trailer);
+    error (_("Invalid digit `%c' in based literal"), *trailer);
 
   while (exp > 0)
     {
       if (result > (ULONG_MAX / base))
-       error ("Integer literal out of range");
+       error (_("Integer literal out of range"));
       result *= base;
       exp -= 1;
     }
@@ -432,26 +370,10 @@ processInt (const char *base0, const char *num0, const char *exp0)
   return INT;
 }
 
-#if defined (PRINTF_HAS_LONG_DOUBLE)
-#  undef PRINTF_HAS_LONG_DOUBLE
-#  define PRINTF_HAS_LONG_DOUBLE 1
-#else
-#  define PRINTF_HAS_LONG_DOUBLE 0
-#endif
-
 static int
 processReal (const char *num0)
 {
-#if defined (PRINTF_HAS_LONG_DOUBLE)
-  if (sizeof (DOUBLEST) > sizeof (double))
-    sscanf (num0, "%Lg", &yylval.typed_val_float.dval);
-  else
-#endif
-    {
-      double temp;
-      sscanf (num0, "%lg", &temp);
-      yylval.typed_val_float.dval = temp;
-    }
+  sscanf (num0, DOUBLEST_SCAN_FORMAT, &yylval.typed_val_float.dval);
 
   yylval.typed_val_float.type = type_float ();
   if (sizeof(DOUBLEST) >= TARGET_DOUBLE_BIT / TARGET_CHAR_BIT)
@@ -652,10 +574,10 @@ processAttribute (const char *str)
        if (k == -1)
          k = i;
        else
-         error ("ambiguous attribute name: `%s'", str);
+         error (_("ambiguous attribute name: `%s'"), str);
       }
   if (k == -1)
-    error ("unrecognized attribute: `%s'", str);
+    error (_("unrecognized attribute: `%s'"), str);
 
   return attributes[k].code;
 }
This page took 0.025816 seconds and 4 git commands to generate.