OSDN Git Service

2007-01-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
authorjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 24 Jan 2007 01:56:55 +0000 (01:56 +0000)
committerjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 24 Jan 2007 01:56:55 +0000 (01:56 +0000)
PR fortran/30532
* scanner.c (load_line): Remove check fot ctrl-z and don't gobble.

2007-01-23  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/30481
* match.c (gfc_match_namelist): Add check for assumed size character
in namelist and provide error if found.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121099 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/fortran/ChangeLog
gcc/fortran/match.c
gcc/fortran/scanner.c

index 5c602b6..2659bd4 100644 (file)
@@ -1,3 +1,14 @@
+2007-01-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/30532
+       * scanner.c (load_line): Remove check fot ctrl-z and don't gobble.
+       
+2007-01-23  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/30481
+       * match.c (gfc_match_namelist): Add check for assumed size character
+       in namelist and provide error if found.
+
 2007-01-21  Brooks Moses  <brooks.moses@codesourcery.com>
 
        * intrinsic.texi (ACHAR): Added cross-references.
index 0fa1f63..941e625 100644 (file)
@@ -2591,7 +2591,7 @@ gfc_match_namelist (void)
              && gfc_add_in_namelist (&sym->attr, sym->name, NULL) == FAILURE)
            goto error;
 
-         /* Use gfc_error_check here, rather than goto error, so that this
+         /* Use gfc_error_check here, rather than goto error, so that
             these are the only errors for the next two lines.  */
          if (sym->as && sym->as->type == AS_ASSUMED_SIZE)
            {
@@ -2600,6 +2600,13 @@ gfc_match_namelist (void)
              gfc_error_check ();
            }
 
+         if (sym->ts.type == BT_CHARACTER && sym->ts.cl->length == NULL)
+           {
+             gfc_error ("Assumed character length '%s' in namelist '%s' at "
+                        "%C is not allowed", sym->name, group_name->name);
+             gfc_error_check ();
+           }
+
          if (sym->as && sym->as->type == AS_ASSUMED_SHAPE
              && gfc_notify_std (GFC_STD_GNU, "Assumed shape array '%s' in "
                                 "namelist '%s' at %C is an extension.",
index 95d2e81..8667fbc 100644 (file)
@@ -1064,13 +1064,6 @@ load_line (FILE *input, char **pbuf, int *pbuflen)
       if (c == '\0')
        continue;
 
-      if (c == '\032')
-       {
-         /* Ctrl-Z ends the file.  */
-         while (fgetc (input) != EOF);
-         break;
-       }
-
       /* Check for illegal use of ampersand. See F95 Standard 3.3.1.3.  */
       if (c == '&')
        seen_ampersand = 1;