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