+2019-11-08 Tobias Burnus <tobias@codesourcery.com
+
+ PR fortran/91253
+ * scanner.c (skip_fixed_comments): Move comment
+ lines to next if block.
+ (gfc_next_char_literal): Fix continue_line setting.
+ (get_file): Remove bogus ATTRIBUTE_UNUSED.
+
2019-11-06 Jerry DeLisle <jvdelisle@gcc.ngu.org>
PR fortran/90374
return;
}
+ if (gfc_current_locus.lb != NULL
+ && continue_line < gfc_linebuf_linenum (gfc_current_locus.lb))
+ continue_line = gfc_linebuf_linenum (gfc_current_locus.lb);
+
/* If -fopenmp/-fopenacc, we need to handle here 2 things:
1) don't treat !$omp/!$acc|c$omp/c$acc|*$omp / *$acc as comments,
but directives
!$|c$|*$ should be treated as 2 spaces if the characters
in columns 3 to 6 are valid fixed form label columns
characters. */
- if (gfc_current_locus.lb != NULL
- && continue_line < gfc_linebuf_linenum (gfc_current_locus.lb))
- continue_line = gfc_linebuf_linenum (gfc_current_locus.lb);
-
if ((flag_openmp || flag_openmp_simd) && !flag_openacc)
{
if (next_char () == '$')
if (flag_openacc)
prev_openacc_flag = openacc_flag;
+ /* This can happen if the input file changed or via cpp's #line
+ without getting reset (e.g. via input_stmt). It also happens
+ when pre-including files via -fpre-include=. */
+ if (continue_count == 0
+ && gfc_current_locus.lb
+ && continue_line > gfc_linebuf_linenum (gfc_current_locus.lb) + 1)
+ continue_line = gfc_linebuf_linenum (gfc_current_locus.lb) + 1;
+
continue_flag = 1;
if (c == '!')
skip_comment_line ();
if (flag_openacc)
prev_openacc_flag = openacc_flag;
+ /* This can happen if the input file changed or via cpp's #line
+ without getting reset (e.g. via input_stmt). It also happens
+ when pre-including files via -fpre-include=. */
+ if (continue_count == 0
+ && gfc_current_locus.lb
+ && continue_line > gfc_linebuf_linenum (gfc_current_locus.lb) + 1)
+ continue_line = gfc_linebuf_linenum (gfc_current_locus.lb) + 1;
+
continue_flag = 1;
old_loc = gfc_current_locus;
the file stack. */
static gfc_file *
-get_file (const char *name, enum lc_reason reason ATTRIBUTE_UNUSED)
+get_file (const char *name, enum lc_reason reason)
{
gfc_file *f;