diff options
Diffstat (limited to 'gcc/fortran')
| -rw-r--r-- | gcc/fortran/ChangeLog | 7 | ||||
| -rw-r--r-- | gcc/fortran/scanner.c | 10 |
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); |
