OSDN Git Service

* update_web_docs (PREPROCESS): Rename to WWWPREPROCESS.
[pf3gnuchains/gcc-fork.git] / gcc / f / stb.c
index 2bee98a..ef523c4 100644 (file)
@@ -1,6 +1,6 @@
 /* stb.c -- Implementation File (module.c template V1.0)
    Copyright (C) 1995, 1996 Free Software Foundation, Inc.
-   Contributed by James Craig Burley (burley@gnu.ai.mit.edu).
+   Contributed by James Craig Burley.
 
 This file is part of GNU Fortran.
 
@@ -88,7 +88,6 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 /* Include files. */
 
 #include "proj.h"
-#include <ctype.h>
 #include "stb.h"
 #include "bad.h"
 #include "expr.h"
@@ -405,7 +404,7 @@ union ffestb_local_u_
     dimlist;
     struct
       {
-       char *badname;
+       const char *badname;
        ffestrFirst first_kw;
        bool is_subr;
       }
@@ -422,7 +421,7 @@ union ffestb_local_u_
        ffesttTokenList toklist;/* For ambiguity resolution. */
        ffesttImpList imps;     /* List of IMPLICIT letters. */
        ffelexHandler imp_handler;      /* Call if paren list wasn't letters. */
-       char *badname;
+       const char *badname;
        ffestrOther kw;         /* INTENT(IN/OUT/INOUT). */
        ffestpType type;
        bool parameter;         /* If PARAMETER attribute seen (governs =expr
@@ -1860,7 +1859,7 @@ ffelexHandler
 ffestb_do (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  unsigned const char *p;
   ffelexHandler next;
   ffelexToken nt;
   ffestrSecond kw;
@@ -1916,7 +1915,7 @@ ffestb_do (ffelexToken t)
          goto bad_1;           /* :::::::::::::::::::: */
 
        case FFELEX_typeOPEN_PAREN:     /* Must be "DO" label "WHILE". */
-         if (!isdigit (*p))
+         if (! ISDIGIT (*p))
            goto bad_i;         /* :::::::::::::::::::: */
          ffesta_tokens[1] = ffelex_token_number_from_names (ffesta_tokens[0],
                                                             i);
@@ -1939,7 +1938,7 @@ ffestb_do (ffelexToken t)
              ffesta_tokens[1] = NULL;
              return (ffelexHandler) ffestb_do2_;
            }
-         if (!isdigit (*p))
+         if (! ISDIGIT (*p))
            goto bad_i;         /* :::::::::::::::::::: */
          ffesta_tokens[1] = ffelex_token_number_from_names (ffesta_tokens[0],
                                                             i);
@@ -1950,7 +1949,7 @@ ffestb_do (ffelexToken t)
          return (ffelexHandler) ffestb_do2_;
 
        case FFELEX_typeEQUALS:
-         if (isdigit (*p))
+         if (ISDIGIT (*p))
            {
              ffesta_tokens[1]
                = ffelex_token_number_from_names (ffesta_tokens[0], i);
@@ -1972,7 +1971,7 @@ ffestb_do (ffelexToken t)
        case FFELEX_typeEOS:
        case FFELEX_typeSEMICOLON:
          ffesta_confirmed ();
-         if (isdigit (*p))
+         if (ISDIGIT (*p))
            {
              ffesta_tokens[1]
                = ffelex_token_number_from_names (ffesta_tokens[0], i);
@@ -2034,7 +2033,7 @@ ffelexHandler
 ffestb_dowhile (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  const char *p;
   ffelexHandler next;
   ffelexToken nt;
 
@@ -2508,7 +2507,7 @@ ffelexHandler
 ffestb_else (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  unsigned const char *p;
 
   switch (ffelex_token_type (ffesta_tokens[0]))
     {
@@ -2601,7 +2600,7 @@ ffelexHandler
 ffestb_elsexyz (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  const char *p;
 
   switch (ffelex_token_type (ffesta_tokens[0]))
     {
@@ -2788,7 +2787,7 @@ static ffelexHandler
 ffestb_else3_ (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  unsigned const char *p;
 
   ffelex_set_names (FALSE);
 
@@ -3014,7 +3013,7 @@ ffelexHandler
 ffestb_endxyz (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  unsigned const char *p;
 
   switch (ffelex_token_type (ffesta_tokens[0]))
     {
@@ -3320,7 +3319,7 @@ ffelexHandler
 ffestb_goto (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  unsigned const char *p;
   ffelexHandler next;
   ffelexToken nt;
 
@@ -3369,7 +3368,7 @@ ffestb_goto (ffelexToken t)
       if (ffelex_token_length (ffesta_tokens[0]) != FFESTR_firstlGOTO)
        {
          p = ffelex_token_text (ffesta_tokens[0]) + (i = FFESTR_firstlGOTO);
-         if (isdigit (*p))
+         if (ISDIGIT (*p))
            {
              nt = ffelex_token_number_from_names (ffesta_tokens[0], i);
              p += ffelex_token_length (nt);
@@ -3773,10 +3772,12 @@ ffestb_halt1_ (ffelexToken ft, ffebld expr, ffelexToken t)
     case FFELEX_typeSEMICOLON:
       ffesta_confirmed ();
       if (!ffesta_is_inhibited ())
-       if (ffesta_first_kw == FFESTR_firstSTOP)
-         ffestc_R842 (expr, ft);
-       else
-         ffestc_R843 (expr, ft);
+       {
+         if (ffesta_first_kw == FFESTR_firstSTOP)
+           ffestc_R842 (expr, ft);
+         else
+           ffestc_R843 (expr, ft);
+       }
       return (ffelexHandler) ffesta_zero (t);
 
     default:
@@ -4151,7 +4152,7 @@ ffestb_let (ffelexToken t)
   ffelexHandler next;
   bool vxtparam;               /* TRUE if it might really be a VXT PARAMETER
                                   stmt. */
-  char *p;
+  unsigned const char *p;
 
   switch (ffelex_token_type (ffesta_tokens[0]))
     {
@@ -4291,7 +4292,7 @@ ffelexHandler
 ffestb_type (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  const char *p;
 
   switch (ffelex_token_type (ffesta_tokens[0]))
     {
@@ -4375,7 +4376,7 @@ static ffelexHandler
 ffestb_type1_ (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  const char *p;
 
   ffelex_set_names (FALSE);
 
@@ -4536,7 +4537,7 @@ ffelexHandler
 ffestb_varlist (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  unsigned const char *p;
   ffelexToken nt;
   ffelexHandler next;
 
@@ -5214,7 +5215,7 @@ ffestb_varlist6_ (ffelexToken t)
 ffelexHandler
 ffestb_R423B (ffelexToken t)
 {
-  char *p;
+  const char *p;
   ffeTokenLength i;
 
   switch (ffelex_token_type (ffesta_tokens[0]))
@@ -5283,7 +5284,7 @@ ffelexHandler
 ffestb_R522 (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  unsigned const char *p;
   ffelexToken nt;
   ffelexHandler next;
 
@@ -5527,7 +5528,7 @@ ffestb_R5224_ (ffelexToken t)
 ffelexHandler
 ffestb_R528 (ffelexToken t)
 {
-  char *p;
+  unsigned const char *p;
   ffeTokenLength i;
   ffelexToken nt;
   ffelexHandler next;
@@ -5706,7 +5707,12 @@ ffestb_R5282_ (ffelexToken ft, ffebld expr, ffelexToken t)
     case FFELEX_typeASTERISK:
       if (expr == NULL)
        break;
-      ffestb_local_.data.expr = expr;
+      ffestb_local_.data.expr = ffeexpr_convert (expr, ft, t,
+                                                FFEINFO_basictypeINTEGER,
+                                                FFEINFO_kindtypeINTEGER1,
+                                                0,
+                                                FFETARGET_charactersizeNONE,
+                                                FFEEXPR_contextLET);
       ffesta_tokens[1] = ffelex_token_use (ft);
       return (ffelexHandler) ffeexpr_rhs
        (ffesta_output_pool, FFEEXPR_contextDATA,
@@ -6004,7 +6010,7 @@ ffestb_R5373_ (ffelexToken t)
 ffelexHandler
 ffestb_R542 (ffelexToken t)
 {
-  char *p;
+  const char *p;
   ffeTokenLength i;
 
   switch (ffelex_token_type (ffesta_tokens[0]))
@@ -6418,7 +6424,7 @@ ffelexHandler
 ffestb_R834 (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  unsigned const char *p;
 
   switch (ffelex_token_type (ffesta_tokens[0]))
     {
@@ -6533,7 +6539,7 @@ ffelexHandler
 ffestb_R835 (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  unsigned const char *p;
 
   switch (ffelex_token_type (ffesta_tokens[0]))
     {
@@ -6647,7 +6653,7 @@ ffestb_R8351_ (ffelexToken t)
 ffelexHandler
 ffestb_R838 (ffelexToken t)
 {
-  char *p;
+  unsigned const char *p;
   ffeTokenLength i;
   ffelexHandler next;
   ffelexToken et;              /* First token in target. */
@@ -6689,7 +6695,7 @@ ffestb_R838 (ffelexToken t)
        case FFELEX_typePERCENT:
        case FFELEX_typeOPEN_PAREN:
          p = ffelex_token_text (ffesta_tokens[0]) + (i = FFESTR_firstlASSIGN);
-         if (!isdigit (*p))
+         if (! ISDIGIT (*p))
            goto bad_i;         /* :::::::::::::::::::: */
          ffesta_tokens[1]
            = ffelex_token_number_from_names (ffesta_tokens[0], i);
@@ -7072,7 +7078,7 @@ ffestb_R8407_ (ffelexToken t)
 ffelexHandler
 ffestb_R841 (ffelexToken t)
 {
-  char *p;
+  const char *p;
   ffeTokenLength i;
 
   switch (ffelex_token_type (ffesta_tokens[0]))
@@ -7140,7 +7146,7 @@ ffelexHandler
 ffestb_R1102 (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  unsigned const char *p;
 
   switch (ffelex_token_type (ffesta_tokens[0]))
     {
@@ -7292,7 +7298,7 @@ ffelexHandler
 ffestb_blockdata (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  unsigned const char *p;
 
   switch (ffelex_token_type (ffesta_tokens[0]))
     {
@@ -7435,7 +7441,7 @@ ffelexHandler
 ffestb_R1212 (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  unsigned const char *p;
   ffelexHandler next;
   ffelexToken nt;
 
@@ -7674,7 +7680,7 @@ ffestb_R12271_ (ffelexToken ft, ffebld expr, ffelexToken t)
 ffelexHandler
 ffestb_R1228 (ffelexToken t)
 {
-  char *p;
+  const char *p;
   ffeTokenLength i;
 
   switch (ffelex_token_type (ffesta_tokens[0]))
@@ -7743,7 +7749,7 @@ bad_i:                            /* :::::::::::::::::::: */
 ffelexHandler
 ffestb_V009 (ffelexToken t)
 {
-  char *p;
+  const char *p;
   ffeTokenLength i;
 
   switch (ffelex_token_type (ffesta_tokens[0]))
@@ -8155,7 +8161,7 @@ ffelexHandler
 ffestb_module (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  const char *p;
   ffelexToken nt;
   ffelexToken mt;              /* Name in MODULE PROCEDUREname, i.e.
                                   includes "PROCEDURE". */
@@ -8428,7 +8434,7 @@ ffelexHandler
 ffestb_R809 (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  const char *p;
 
   switch (ffelex_token_type (ffesta_tokens[0]))
     {
@@ -8629,7 +8635,7 @@ ffelexHandler
 ffestb_R810 (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  unsigned const char *p;
 
   switch (ffelex_token_type (ffesta_tokens[0]))
     {
@@ -9184,7 +9190,7 @@ ffestb_R10014_ (ffelexToken t)
 {
   ffesttFormatList f;
   ffeTokenLength i;
-  char *p;
+  const char *p;
   ffestrFormat kw;
 
   ffelex_set_expecting_hollerith (0, '\0',
@@ -9212,14 +9218,14 @@ ffestb_R10014_ (ffelexToken t)
        }
       if (ffestb_local_.format.sign)
        {
-         for (i = 0; i < ffelex_token_length (t); ++i)
+         for (i = ffelex_token_length (t) + 1; i > 0; --i)
            ffestb_local_.format.pre.u.signed_val *= 10;
          ffestb_local_.format.pre.u.signed_val += strtoul (ffelex_token_text (t),
                                                            NULL, 10);
        }
       else
        {
-         for (i = 0; i < ffelex_token_length (t); ++i)
+         for (i = ffelex_token_length (t) + 1; i > 0; --i)
            ffestb_local_.format.pre.u.unsigned_val *= 10;
          ffestb_local_.format.pre.u.unsigned_val += strtoul (ffelex_token_text (t),
                                                              NULL, 10);
@@ -9686,7 +9692,7 @@ ffestb_R10014_ (ffelexToken t)
       p = ffelex_token_text (t) + i;
       if (*p == '\0')
        return (ffelexHandler) ffestb_R10015_;
-      if (!isdigit (*p))
+      if (! ISDIGIT (*p))
        {
          if (ffestb_local_.format.current == FFESTP_formattypeH)
            p = strpbrk (p, "0123456789");
@@ -9708,7 +9714,8 @@ ffestb_R10014_ (ffelexToken t)
       i += ffelex_token_length (ffestb_local_.format.post.t);
       if (*p == '\0')
        return (ffelexHandler) ffestb_R10016_;
-      if ((kw != FFESTR_formatP) || !ffelex_is_firstnamechar (*p))
+      if ((kw != FFESTR_formatP) ||
+         !ffelex_is_firstnamechar ((unsigned char)*p))
        {
          if (ffestb_local_.format.current != FFESTP_formattypeH)
            ffesta_ffebad_1p (FFEBAD_FORMAT_TEXT_IN_NUMBER, t, i, NULL);
@@ -9764,7 +9771,7 @@ ffestb_R10014_ (ffelexToken t)
       p = ffelex_token_text (t) + i;
       if (*p == '\0')
        return (ffelexHandler) ffestb_R10015_;
-      if (!isdigit (*p))
+      if (! ISDIGIT (*p))
        {
          ffestb_local_.format.current = FFESTP_formattypeNone;
          p = strpbrk (p, "0123456789");
@@ -9812,7 +9819,7 @@ ffestb_R10015_ (ffelexToken t)
   bool split_pea;              /* New NAMES requires splitting kP from new
                                   edit desc. */
   ffestrFormat kw;
-  char *p;
+  const char *p;
   ffeTokenLength i;
 
   switch (ffelex_token_type (t))
@@ -10044,7 +10051,7 @@ ffestb_R10015_ (ffelexToken t)
       p = ffelex_token_text (t) + i;
       if (*p == '\0')
        return (ffelexHandler) ffestb_R10015_;
-      if (!isdigit (*p))
+      if (! ISDIGIT (*p))
        {
          ffestb_local_.format.current = FFESTP_formattypeNone;
          p = strpbrk (p, "0123456789");
@@ -10103,7 +10110,7 @@ ffestb_R10016_ (ffelexToken t)
          ffebad_finish ();
          return (ffelexHandler) ffestb_R10016_;
        }
-      for (i = 0; i < ffelex_token_length (t); ++i)
+      for (i = ffelex_token_length (t) + 1; i > 0; --i)
        ffestb_local_.format.post.u.unsigned_val *= 10;
       ffestb_local_.format.post.u.unsigned_val += strtoul (ffelex_token_text (t),
                                                           NULL, 10);
@@ -10189,7 +10196,7 @@ static ffelexHandler
 ffestb_R10018_ (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  const char *p;
 
   switch (ffelex_token_type (t))
     {
@@ -10203,7 +10210,7 @@ ffestb_R10018_ (ffelexToken t)
          ffebad_finish ();
          return (ffelexHandler) ffestb_R10018_;
        }
-      for (i = 0; i < ffelex_token_length (t); ++i)
+      for (i = ffelex_token_length (t) + 1; i > 0; --i)
        ffestb_local_.format.dot.u.unsigned_val *= 10;
       ffestb_local_.format.dot.u.unsigned_val += strtoul (ffelex_token_text (t),
                                                          NULL, 10);
@@ -10218,7 +10225,7 @@ ffestb_R10018_ (ffelexToken t)
       if (*++p == '\0')
        return (ffelexHandler) ffestb_R10019_;  /* Go get NUMBER. */
       i = 1;
-      if (!isdigit (*p))
+      if (! ISDIGIT (*p))
        {
          ffesta_ffebad_1p (FFEBAD_FORMAT_TEXT_IN_NUMBER, t, 1, NULL);
          return (ffelexHandler) ffestb_R10018_;
@@ -10330,7 +10337,7 @@ ffestb_R100110_ (ffelexToken t)
          ffebad_finish ();
          return (ffelexHandler) ffestb_R100110_;
        }
-      for (i = 0; i < ffelex_token_length (t); ++i)
+      for (i = ffelex_token_length (t) + 1; i > 0; --i)
        ffestb_local_.format.exp.u.unsigned_val *= 10;
       ffestb_local_.format.exp.u.unsigned_val += strtoul (ffelex_token_text (t),
                                                          NULL, 10);
@@ -10587,7 +10594,7 @@ ffestb_R100110_ (ffelexToken t)
          return (ffelexHandler) ffestb_R100111_ (t);
 
        default:
-         assert (FALSE);
+         assert ("bad format item" == NULL);
          err = FFEBAD_FORMAT_BAD_H_SPEC;
          pre = disallowed;
          post = disallowed;
@@ -10983,7 +10990,7 @@ ffelexHandler
 ffestb_R1107 (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  const char *p;
 
   switch (ffelex_token_type (ffesta_tokens[0]))
     {
@@ -11429,7 +11436,7 @@ ffelexHandler
 ffestb_R1202 (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  const char *p;
 
   switch (ffelex_token_type (ffesta_tokens[0]))
     {
@@ -11820,7 +11827,7 @@ ffestb_R12025_ (ffelexToken t)
 static ffelexHandler
 ffestb_R12026_ (ffelexToken t)
 {
-  char *p;
+  const char *p;
 
   switch (ffelex_token_type (t))
     {
@@ -11901,7 +11908,7 @@ ffestb_R12026_ (ffelexToken t)
            default:
              for (p = ffelex_token_text (ffesta_tokens[2]); *p != '\0'; ++p)
                {
-                 if (!isalpha (*p))
+                 if (! ISALPHA (*p))
                    {
                      ffelex_token_kill (ffesta_tokens[1]);
                      ffelex_token_kill (ffesta_tokens[2]);
@@ -11963,7 +11970,7 @@ ffelexHandler
 ffestb_S3P4 (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  const char *p;
   ffelexHandler next;
   ffelexToken nt;
   ffelexToken ut;
@@ -12008,7 +12015,7 @@ ffestb_S3P4 (ffelexToken t)
                    ffeexpr_rhs (ffesta_output_pool, FFEEXPR_contextINCLUDE,
                                 (ffeexprCallback) ffestb_S3P41_)))
          (t);
-      if (!isdigit (*p))
+      if (! ISDIGIT (*p))
        goto bad_i;             /* :::::::::::::::::::: */
       nt = ffelex_token_number_from_names (ffesta_tokens[0], i);
       p += ffelex_token_length (nt);
@@ -12095,7 +12102,7 @@ ffestb_S3P41_ (ffelexToken ft, ffebld expr, ffelexToken t)
 ffelexHandler
 ffestb_V012 (ffelexToken t)
 {
-  char *p;
+  const char *p;
   ffeTokenLength i;
 
   switch (ffelex_token_type (ffesta_tokens[0]))
@@ -12164,7 +12171,7 @@ ffelexHandler
 ffestb_V014 (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  unsigned const char *p;
   ffelexToken nt;
   ffelexHandler next;
 
@@ -12398,7 +12405,7 @@ ffelexHandler
 ffestb_V025 (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  const char *p;
   ffelexToken nt;
   ffelexHandler next;
 
@@ -12441,7 +12448,7 @@ ffestb_V025 (ffelexToken t)
          break;
        }
       p = ffelex_token_text (ffesta_tokens[0]) + (i = FFESTR_firstlDEFINEFILE);
-      if (isdigit (*p))
+      if (ISDIGIT (*p))
        nt = ffelex_token_number_from_names (ffesta_tokens[0], i);
       else if (ffesrc_is_name_init (*p))
        nt = ffelex_token_name_from_names (ffesta_tokens[0], i, 0);
@@ -12594,7 +12601,7 @@ ffestb_V0254_ (ffelexToken ft, ffebld expr, ffelexToken t)
 static ffelexHandler
 ffestb_V0255_ (ffelexToken t)
 {
-  char *p;
+  const char *p;
 
   switch (ffelex_token_type (t))
     {
@@ -15553,11 +15560,13 @@ ffestb_R90910_ (ffelexToken ft, ffebld expr, ffelexToken t)
     case FFELEX_typeCOMMA:
     case FFELEX_typeCLOSE_PAREN:
       if (expr == NULL)
-       if (ffestb_local_.read.context == FFEEXPR_contextFILEFORMAT)
-         ffestp_file.read.read_spec[ffestb_local_.read.ix]
-           .value_is_label = TRUE;
-       else
-         break;
+       {
+         if (ffestb_local_.read.context == FFEEXPR_contextFILEFORMAT)
+           ffestp_file.read.read_spec[ffestb_local_.read.ix]
+             .value_is_label = TRUE;
+         else
+           break;
+       }
       ffestp_file.read.read_spec[ffestb_local_.read.ix].value_present
        = TRUE;
       ffestp_file.read.read_spec[ffestb_local_.read.ix].value
@@ -16169,11 +16178,13 @@ ffestb_R9109_ (ffelexToken ft, ffebld expr, ffelexToken t)
     case FFELEX_typeCOMMA:
     case FFELEX_typeCLOSE_PAREN:
       if (expr == NULL)
-       if (ffestb_local_.write.context == FFEEXPR_contextFILEFORMAT)
-         ffestp_file.write.write_spec[ffestb_local_.write.ix]
-           .value_is_label = TRUE;
-       else
-         break;
+       {
+         if (ffestb_local_.write.context == FFEEXPR_contextFILEFORMAT)
+           ffestp_file.write.write_spec[ffestb_local_.write.ix]
+             .value_is_label = TRUE;
+         else
+           break;
+       }
       ffestp_file.write.write_spec[ffestb_local_.write.ix].value_present
        = TRUE;
       ffestp_file.write.write_spec[ffestb_local_.write.ix].value
@@ -17904,7 +17915,7 @@ ffelexHandler
 ffestb_V020 (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  const char *p;
   ffelexHandler next;
   ffestpTypeIx ix;
 
@@ -17974,7 +17985,7 @@ ffestb_V020 (ffelexToken t)
          break;
        }
       p = ffelex_token_text (ffesta_tokens[0]) + (i = FFESTR_firstlTYPE);
-      if (isdigit (*p))
+      if (ISDIGIT (*p))
        ffesta_confirmed ();    /* Else might be '90 TYPE statement. */
       for (ix = 0; ix < FFESTP_typeix; ++ix)
        ffestp_file.type.type_spec[ix].kw_or_val_present = FALSE;
@@ -18840,7 +18851,7 @@ ffelexHandler
 ffestb_dimlist (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  const char *p;
   ffelexToken nt;
   ffelexHandler next;
 
@@ -19394,7 +19405,7 @@ ffelexHandler
 ffestb_dummy (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  unsigned const char *p;
 
   switch (ffelex_token_type (ffesta_tokens[0]))
     {
@@ -19613,7 +19624,7 @@ ffelexHandler
 ffestb_R524 (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  unsigned const char *p;
   ffelexToken nt;
   ffelexHandler next;
 
@@ -19842,7 +19853,7 @@ ffelexHandler
 ffestb_R547 (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  unsigned const char *p;
   ffelexToken nt;
   ffelexHandler next;
 
@@ -20480,7 +20491,7 @@ ffelexHandler
 ffestb_decl_chartype (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  unsigned const char *p;
 
   ffestb_local_.decl.type = FFESTP_typeCHARACTER;
   ffestb_local_.decl.recursive = NULL;
@@ -20667,7 +20678,7 @@ ffelexHandler
 ffestb_decl_dbltype (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  unsigned const char *p;
 
   ffestb_local_.decl.type = ffestb_args.decl.type;
   ffestb_local_.decl.recursive = NULL;
@@ -20858,7 +20869,7 @@ ffelexHandler
 ffestb_decl_gentype (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  unsigned const char *p;
 
   ffestb_local_.decl.type = ffestb_args.decl.type;
   ffestb_local_.decl.recursive = NULL;
@@ -21004,7 +21015,7 @@ ffelexHandler
 ffestb_decl_recursive (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  const char *p;
   ffelexToken nt;
   ffelexToken ot;
   ffelexHandler next;
@@ -22662,7 +22673,7 @@ ffestb_decl_entsp_2_ (ffelexToken t)
 {
   ffelexToken nt;
   bool asterisk_ok;
-  char *p;
+  unsigned const char *p;
   ffeTokenLength i;
 
   switch (ffelex_token_type (t))
@@ -23089,7 +23100,7 @@ ffestb_decl_entsp_8_ (ffelexToken t)
 static ffelexHandler
 ffestb_decl_func_ (ffelexToken t)
 {
-  char *p;
+  const char *p;
   ffeTokenLength i;
 
   ffelex_set_names (FALSE);
@@ -23567,7 +23578,7 @@ ffelexHandler
 ffestb_V003 (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  const char *p;
   ffelexToken nt;
   ffelexHandler next;
 
@@ -23883,7 +23894,7 @@ bad:                            /* :::::::::::::::::::: */
 ffelexHandler
 ffestb_V016 (ffelexToken t)
 {
-  char *p;
+  const char *p;
   ffeTokenLength i;
 
   switch (ffelex_token_type (ffesta_tokens[0]))
@@ -24151,7 +24162,7 @@ ffestb_V0166_ (ffelexToken t)
 ffelexHandler
 ffestb_V027 (ffelexToken t)
 {
-  char *p;
+  unsigned const char *p;
   ffeTokenLength i;
 
   switch (ffelex_token_type (ffesta_tokens[0]))
@@ -24331,7 +24342,7 @@ ffelexHandler
 ffestb_decl_R539 (ffelexToken t)
 {
   ffeTokenLength i;
-  char *p;
+  unsigned const char *p;
   ffelexToken nt;
   ffestrSecond kw;