aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog7
-rw-r--r--gcc/fortran/scanner.c10
2 files changed, 15 insertions, 2 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index b3f0b1c..5864697 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,10 @@
+2005-04-17 Richard Guenther <rguenth@gcc.gnu.org>
+
+ * scanner.c (gfc_next_char_literal): Reset truncation flag
+ for lines ending in a comment for both fixed and free form.
+ (load_line): Do not set truncated flag if only truncating
+ the EOL marker.
+
2005-04-15 Richard Guenther <rguenth@gcc.gnu.org>
PR fortran/14569
diff --git a/gcc/fortran/scanner.c b/gcc/fortran/scanner.c
index 5748ef3..69fa3a1 100644
--- a/gcc/fortran/scanner.c
+++ b/gcc/fortran/scanner.c
@@ -458,6 +458,9 @@ restart:
}
while (c != '\n');
+ /* Avoid truncation warnings for comment ending lines. */
+ gfc_current_locus.lb->truncated = 0;
+
goto done;
}
@@ -525,6 +528,9 @@ restart:
c = next_char ();
}
while (c != '\n');
+
+ /* Avoid truncation warnings for comment ending lines. */
+ gfc_current_locus.lb->truncated = 0;
}
if (c != '\n')
@@ -758,13 +764,13 @@ load_line (FILE * input, char **pbuf)
else if (i >= buflen)
{
/* Truncate the rest of the line. */
- trunc_flag = 1;
-
for (;;)
{
c = fgetc (input);
if (c == '\n' || c == EOF)
break;
+
+ trunc_flag = 1;
}
ungetc ('\n', input);