diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2018-09-19 12:20:51 +0100 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2018-09-19 12:20:51 +0100 |
commit | dc9acaa99b9e6b3553f64b362cd22f32e961d3dc (patch) | |
tree | 3bc222ed4f244f571335014c953f17367654cd81 | |
parent | 3c5af60836eed835b818f2a87480155a497139a4 (diff) | |
download | gcc-dc9acaa99b9e6b3553f64b362cd22f32e961d3dc.zip gcc-dc9acaa99b9e6b3553f64b362cd22f32e961d3dc.tar.gz gcc-dc9acaa99b9e6b3553f64b362cd22f32e961d3dc.tar.bz2 |
Don't use __glibcxx_assert to check class invariants
Assertions should be used to check preconditions that users must meet,
not to check whether the implementation is correct.
* include/bits/regex_automaton.tcc (_StateSeq<_TraitsT>::_M_clone()):
Remove __glibcxx_assert statements and use map::find instead of
map::operator[].
From-SVN: r264422
-rw-r--r-- | libstdc++-v3/ChangeLog | 6 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/regex_automaton.tcc | 13 |
2 files changed, 9 insertions, 10 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 433bcdd..5911a29 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2018-09-19 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/regex_automaton.tcc (_StateSeq<_TraitsT>::_M_clone()): + Remove __glibcxx_assert statements and use map::find instead of + map::operator[]. + 2018-09-18 François Dumont <fdumont@gcc.gnu.org> PR libstdc++/87135 diff --git a/libstdc++-v3/include/bits/regex_automaton.tcc b/libstdc++-v3/include/bits/regex_automaton.tcc index 7a0e6a3..5993fcf 100644 --- a/libstdc++-v3/include/bits/regex_automaton.tcc +++ b/libstdc++-v3/include/bits/regex_automaton.tcc @@ -220,16 +220,9 @@ namespace __detail auto __v = __it.second; auto& __ref = _M_nfa[__v]; if (__ref._M_next != _S_invalid_state_id) - { - __glibcxx_assert(__m.count(__ref._M_next) > 0); - __ref._M_next = __m[__ref._M_next]; - } - if (__ref._M_has_alt()) - if (__ref._M_alt != _S_invalid_state_id) - { - __glibcxx_assert(__m.count(__ref._M_alt) > 0); - __ref._M_alt = __m[__ref._M_alt]; - } + __ref._M_next = __m.find(__ref._M_next)->second; + if (__ref._M_has_alt() && __ref._M_alt != _S_invalid_state_id) + __ref._M_alt = __m.find(__ref._M_alt)->second; } return _StateSeq(_M_nfa, __m[_M_start], __m[_M_end]); } |