diff options
author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2008-04-14 00:43:32 +0000 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2008-04-14 00:43:32 +0000 |
commit | dfbfb6301cf57551b13e2db2c7eabc32b67c30ba (patch) | |
tree | 2db815be26d6bb01b303596a05c9f1e2c07423c3 /gcc | |
parent | e7d95f6fdaf08bdffbf63230063ad1fba98c071c (diff) | |
download | gcc-dfbfb6301cf57551b13e2db2c7eabc32b67c30ba.zip gcc-dfbfb6301cf57551b13e2db2c7eabc32b67c30ba.tar.gz gcc-dfbfb6301cf57551b13e2db2c7eabc32b67c30ba.tar.bz2 |
re PR fortran/35882 (Miscounted continuation lines when interspersed with data)
2008-04-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/35882
* options.c (gfc_init_options): Set the default maximum continuation
lines to 255 for both free and fixed form source for warnings.
(gfc_handle_option): Set -std=f95 fixed form max continuations to 19 and
the -std=f95 free form max continuations to 39 for warnings.
* scanner.c (gfc_next_char_literal): Adjust the current_line number only
if it is less than the current locus.
Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r134251
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/fortran/options.c | 10 | ||||
-rw-r--r-- | gcc/fortran/scanner.c | 3 |
3 files changed, 17 insertions, 7 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 7833747..a282623 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,14 @@ +2008-04-13 Jerry DeLisle <jvdelisle@gcc.gnu.org> + Tobias Burnus <burnus@net-b.de> + + PR fortran/35882 + * options.c (gfc_init_options): Set the default maximum continuation + lines to 255 for both free and fixed form source for warnings. + (gfc_handle_option): Set -std=f95 fixed form max continuations to 19 and + the -std=f95 free form max continuations to 39 for warnings. + * scanner.c (gfc_next_char_literal): Adjust the current_line number only + if it is less than the current locus. + 2008-04-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/25829 28655 diff --git a/gcc/fortran/options.c b/gcc/fortran/options.c index 5ccbc77..06a4622 100644 --- a/gcc/fortran/options.c +++ b/gcc/fortran/options.c @@ -58,8 +58,8 @@ gfc_init_options (unsigned int argc ATTRIBUTE_UNUSED, gfc_option.source_form = FORM_UNKNOWN; gfc_option.fixed_line_length = 72; gfc_option.free_line_length = 132; - gfc_option.max_continue_fixed = 19; - gfc_option.max_continue_free = 39; + gfc_option.max_continue_fixed = 255; + gfc_option.max_continue_free = 255; gfc_option.max_identifier_length = GFC_MAX_SYMBOL_LEN; gfc_option.max_subrecord_length = 0; gfc_option.convert = GFC_CONVERT_NATIVE; @@ -733,6 +733,8 @@ gfc_handle_option (size_t scode, const char *arg, int value) case OPT_std_f95: gfc_option.allow_std = GFC_STD_F95_OBS | GFC_STD_F95 | GFC_STD_F77; gfc_option.warn_std = GFC_STD_F95_OBS; + gfc_option.max_continue_fixed = 19; + gfc_option.max_continue_free = 39; gfc_option.max_identifier_length = 31; gfc_option.warn_ampersand = 1; gfc_option.warn_tabs = 0; @@ -742,8 +744,6 @@ gfc_handle_option (size_t scode, const char *arg, int value) gfc_option.allow_std = GFC_STD_F95_OBS | GFC_STD_F77 | GFC_STD_F2003 | GFC_STD_F95; gfc_option.warn_std = GFC_STD_F95_OBS; - gfc_option.max_continue_fixed = 255; - gfc_option.max_continue_free = 255; gfc_option.max_identifier_length = 63; gfc_option.warn_ampersand = 1; gfc_option.warn_tabs = 0; @@ -753,8 +753,6 @@ gfc_handle_option (size_t scode, const char *arg, int value) gfc_option.allow_std = GFC_STD_F95_OBS | GFC_STD_F77 | GFC_STD_F2003 | GFC_STD_F95 | GFC_STD_F2008; gfc_option.warn_std = GFC_STD_F95_OBS; - gfc_option.max_continue_fixed = 255; - gfc_option.max_continue_free = 255; gfc_option.max_identifier_length = 63; gfc_option.warn_ampersand = 1; gfc_option.warn_tabs = 0; diff --git a/gcc/fortran/scanner.c b/gcc/fortran/scanner.c index 872f350..dcdac64 100644 --- a/gcc/fortran/scanner.c +++ b/gcc/fortran/scanner.c @@ -821,7 +821,8 @@ restart: "statement at %C", gfc_option.max_continue_free); } } - continue_line = gfc_linebuf_linenum (gfc_current_locus.lb); + if (continue_line < gfc_linebuf_linenum (gfc_current_locus.lb)) + continue_line = gfc_linebuf_linenum (gfc_current_locus.lb); /* Now find where it continues. First eat any comment lines. */ openmp_cond_flag = skip_free_comments (); |