aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2007-01-24 01:56:55 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2007-01-24 01:56:55 +0000
commitcecc123540c8207c0cd2bee1e8cca3a27ea1c428 (patch)
tree1e85f3e6d1b83819622177f73b695b49d0252dcf /gcc/fortran
parentd7df00e8fbf856e2089d6775548817445813cfa8 (diff)
downloadgcc-cecc123540c8207c0cd2bee1e8cca3a27ea1c428.zip
gcc-cecc123540c8207c0cd2bee1e8cca3a27ea1c428.tar.gz
gcc-cecc123540c8207c0cd2bee1e8cca3a27ea1c428.tar.bz2
[multiple changes]
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. From-SVN: r121099
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog11
-rw-r--r--gcc/fortran/match.c9
-rw-r--r--gcc/fortran/scanner.c7
3 files changed, 19 insertions, 8 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 5c602b6..2659bd4 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -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.
diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c
index 0fa1f63..941e625 100644
--- a/gcc/fortran/match.c
+++ b/gcc/fortran/match.c
@@ -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.",
diff --git a/gcc/fortran/scanner.c b/gcc/fortran/scanner.c
index 95d2e81d..8667fbc 100644
--- a/gcc/fortran/scanner.c
+++ b/gcc/fortran/scanner.c
@@ -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;