<regex>
: Fix pointer-size constructor of basic_regex
and remove error_parse
#5211
+28
−9
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
error_parse
is a non-reserved identifier that is not used by the standard library. I think it's better to remove its use. Perhaps it would also be better to removeerror_syntax
, but see #438.Per [re.regex.construct]/6, the call to the pointer-size constructor of
basic_regex
should be well-defined whenp
is null andlen
is0
. This PR makes such case accepted and makes some UB case diagnosed with_STL_VERIFY
.Drive-by: Strengthening exception specification of
regex_error::code
.