diff --git a/gcc/cobol/parse.y b/gcc/cobol/parse.y index 424e9e35e13e5cd7f5dbcf549bfa9ec83f7451f6..a213e5c916de89f1ded93bf0e7e8455fbfa8a6b5 100644 --- a/gcc/cobol/parse.y +++ b/gcc/cobol/parse.y @@ -9966,9 +9966,9 @@ class tokenset_t { }, * const eonames = cdf_names + COUNT_OF(cdf_names); if( std::any_of(cdf_names, eonames, - [candidate=name](const cbl_name_t name) { - return 0 == strcasecmp(name, candidate) - && strlen(name) == strlen(candidate); + [candidate=name](const cbl_name_t cdf_name) { + return 0 == strcasecmp(cdf_name, candidate) + && strlen(cdf_name) == strlen(candidate); } ) ) { return false; // CDF names are never ordinary tokens } diff --git a/gcc/cobol/scan.l b/gcc/cobol/scan.l index ed05268c77b35fa864a21fcfa30fdb0ed051a446..4cee696d4eff1fb8c4557efcf859cf2bd0ec891f 100644 --- a/gcc/cobol/scan.l +++ b/gcc/cobol/scan.l @@ -1897,7 +1897,8 @@ COPY { if( yy_flex_debug ) warnx("resuming at line %4d of %s", yylineno, name? name : "<none>"); } - {LINE_DIRECTIVE} { cobol_fileline_set(yytext); } + {LINE_DIRECTIVE} { penultimate_once(final_token); + cobol_fileline_set(yytext); } }