https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61061
--- Comment #1 from Tim Shen <timshen at gcc dot gnu.org> --- Author: timshen Date: Tue Jul 1 03:05:45 2014 New Revision: 212185 URL: https://gcc.gnu.org/viewcvs?rev=212185&root=gcc&view=rev Log: PR libstdc++/61061 PR libstdc++/61582 * include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add a NFA state limit. If it's exceeded, regex_constants::error_space will be throwed. * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use map (which is sparse) instead of vector. This reduce n times clones' cost from O(n^2) to O(n). * include/std/regex: Add map dependency. * testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New testcase. Added: trunk/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/include/bits/regex_automaton.h trunk/libstdc++-v3/include/bits/regex_automaton.tcc trunk/libstdc++-v3/include/std/regex