The limit can be customized by defining a macro _GLIBCXX_REGEX_STATE_LIMIT. The default value is 100000.
The testcase can be handled if we optimize consecutive quantifiers
(collapse them to one). But cases like "(a{100}b){100}" can't be
handled still.
We implement range quantifier "(foo){n}" by copying state sequence
(foo) n-1 times. That consumes more space. We may reimplement it (by
adding a new _S_op*) someday.
Bootstrapped and tested.
Thanks!
--
Regards,
Tim Shen
