diff --git a/gcc/cobol/lexio.cc b/gcc/cobol/lexio.cc index f1fdaa693030b176fb964258124abd7d043ddb93..6014b253d6c2449c1780b7f7f3546a08983e8f3f 100644 --- a/gcc/cobol/lexio.cc +++ b/gcc/cobol/lexio.cc @@ -344,7 +344,7 @@ check_source_format_directive( filespan_t& mfile ) { "(format[[:blank:]]+)?" "(is[[:blank:]]+)?" "(fixed|free)"; - regex re(pattern, extended_icase); + static regex re(pattern, extended_icase); // show contents of marked subexpressions within each match cmatch cm; @@ -484,7 +484,7 @@ parse_replacing_term( const char *stmt, const char *estmt ) { "(([[:space:];,]+[\"'=[:alnum:]+-]{1,2})" "|" "[[:space:];,]*([.]))?" // 13, 14, 15 ; - regex re(pattern, extended_icase); + static regex re(pattern, extended_icase); cmatch cm; if( ! regex_search( stmt, estmt, cm, re) ) return output; @@ -840,7 +840,7 @@ parse_copy_directive( filespan_t& mfile ) { /*19,20 */ "(" "([[:space:]]*[.])" "|" "[[:space:]]+REPLACING" ")" ; - regex re(pattern, extended_icase); + static regex re(pattern, extended_icase); cmatch cm; copy_descr_t outcome(mfile.cur, mfile.cur); @@ -929,7 +929,7 @@ parse_replace_last_off( filespan_t& mfile ) { "REPLACE" "[[:space:]]+" "(LAST[[:space:]]+)?OFF[[:space:]]*[.]" ; - regex re(pattern, extended_icase); + static regex re(pattern, extended_icase); cmatch cm; // REPLACE [LAST] OFF? @@ -976,7 +976,7 @@ parse_replace_text( filespan_t& mfile, size_t current_lineno ) { /* */ ")" /* */ ")+[[:space:]]*[.]" ; - regex re(pattern, extended_icase); + static regex re(pattern, extended_icase); cmatch cm; if( false && yy_flex_debug ) { @@ -1045,7 +1045,7 @@ parse_replace_directive( filespan_t& mfile, size_t current_lineno ) { static const char pattern[] = "REPLACE" "[[:space:]]+" "(LAST|OFF|ALSO|LEADING|TRAILING|==)"; - regex re(pattern, extended_icase); + static regex re(pattern, extended_icase); cmatch cm; // REPLACE appears in current buffer?