diff options
author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2010-12-11 23:14:45 +0000 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2010-12-11 23:14:45 +0000 |
commit | 696abb30d602208b316845bff9974e4b8b6e86ef (patch) | |
tree | 982b960730fe59e92f42e77b35659f096fb2a00c /gcc/fortran/parse.c | |
parent | a70de21ffba9c1c8b4c5096bf9faf3deeb054c76 (diff) | |
download | gcc-696abb30d602208b316845bff9974e4b8b6e86ef.zip gcc-696abb30d602208b316845bff9974e4b8b6e86ef.tar.gz gcc-696abb30d602208b316845bff9974e4b8b6e86ef.tar.bz2 |
re PR fortran/46705 (Spurious "Missing '&' in continued character constant" warning occurs twice)
2010-12-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/46705
* gfortran.h: New enum gfc_instring.
(gfc_next_char_literal): Update prototype.
* scanner.c (gfc_next_char_literal): Use new enum. Only give missing
'&' warning for INSTRING_WARN. (gfc_next_char): Use new enum.
(gfc_gobble_whitespace): Likewise.
* io.c (next_char): Use new enum. (next_char_not_space): Likewise.
(format_lex): Likewise.
* match.c (gfc_match_parens): Likewise.
(gfc_match_special_char): Likewise. (gfc_match_name_C): Likewise.
* parse.c (next_fixed): Likewise.
* primary.c (match_hollerith_constant): Likewise.
(next_string_char): Likewise.
From-SVN: r167716
Diffstat (limited to 'gcc/fortran/parse.c')
-rw-r--r-- | gcc/fortran/parse.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c index 2e43824..ea9667d 100644 --- a/gcc/fortran/parse.c +++ b/gcc/fortran/parse.c @@ -745,7 +745,7 @@ next_fixed (void) for (i = 0; i < 5; i++) { - c = gfc_next_char_literal (0); + c = gfc_next_char_literal (NONSTRING); switch (c) { @@ -771,18 +771,18 @@ next_fixed (void) here, except for GCC attributes and OpenMP directives. */ case '*': - c = gfc_next_char_literal (0); + c = gfc_next_char_literal (NONSTRING); if (TOLOWER (c) == 'g') { - for (i = 0; i < 4; i++, c = gfc_next_char_literal (0)) + for (i = 0; i < 4; i++, c = gfc_next_char_literal (NONSTRING)) gcc_assert (TOLOWER (c) == "gcc$"[i]); return decode_gcc_attribute (); } else if (c == '$' && gfc_option.gfc_flag_openmp) { - for (i = 0; i < 4; i++, c = gfc_next_char_literal (0)) + for (i = 0; i < 4; i++, c = gfc_next_char_literal (NONSTRING)) gcc_assert ((char) gfc_wide_tolower (c) == "$omp"[i]); if (c != ' ' && c != '0') @@ -821,7 +821,7 @@ next_fixed (void) of a previous statement. If we see something here besides a space or zero, it must be a bad continuation line. */ - c = gfc_next_char_literal (0); + c = gfc_next_char_literal (NONSTRING); if (c == '\n') goto blank_line; @@ -839,7 +839,7 @@ next_fixed (void) do { loc = gfc_current_locus; - c = gfc_next_char_literal (0); + c = gfc_next_char_literal (NONSTRING); } while (gfc_is_whitespace (c)); |