aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/parse.c
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2010-12-11 23:14:45 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2010-12-11 23:14:45 +0000
commit696abb30d602208b316845bff9974e4b8b6e86ef (patch)
tree982b960730fe59e92f42e77b35659f096fb2a00c /gcc/fortran/parse.c
parenta70de21ffba9c1c8b4c5096bf9faf3deeb054c76 (diff)
downloadgcc-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.c12
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));