mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
Fix use-after-move reported by clang-tidy
This was introduced by 9eb94ee151
.
This commit is contained in:
parent
136bdb43fd
commit
647da4f970
1 changed files with 3 additions and 3 deletions
|
@ -1022,8 +1022,6 @@ private:
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for ( auto& ci : rt->creation_inits ) {
|
for ( auto& ci : rt->creation_inits ) {
|
||||||
if ( ! ci.second->IsDeferrable() ) {
|
if ( ! ci.second->IsDeferrable() ) {
|
||||||
rt->creation_inits[i++] = std::move(ci);
|
|
||||||
|
|
||||||
// A non-deferrable field with a &default attribute is expected to also exist in deferred_inits
|
// A non-deferrable field with a &default attribute is expected to also exist in deferred_inits
|
||||||
// such that re-initialization after deletion of the field works.
|
// such that re-initialization after deletion of the field works.
|
||||||
if ( rt->FieldDecl(ci.first)->GetAttr(detail::ATTR_DEFAULT) != detail::Attr::nil ) {
|
if ( rt->FieldDecl(ci.first)->GetAttr(detail::ATTR_DEFAULT) != detail::Attr::nil ) {
|
||||||
|
@ -1031,10 +1029,12 @@ private:
|
||||||
zeek::reporter->InternalError("non-deferrable field %s$%s with &default not in deferred_inits",
|
zeek::reporter->InternalError("non-deferrable field %s$%s with &default not in deferred_inits",
|
||||||
rt->GetName().c_str(), rt->FieldName(i));
|
rt->GetName().c_str(), rt->FieldName(i));
|
||||||
|
|
||||||
if ( rt->deferred_inits[ci.first] != rt->creation_inits[i - 1].second )
|
else if ( rt->deferred_inits[ci.first] != ci.second )
|
||||||
zeek::reporter->InternalError("non-deferrable field %s$%s with &default has inconsistent inits",
|
zeek::reporter->InternalError("non-deferrable field %s$%s with &default has inconsistent inits",
|
||||||
rt->GetName().c_str(), rt->FieldName(i));
|
rt->GetName().c_str(), rt->FieldName(i));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rt->creation_inits[i++] = std::move(ci);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// If deferred_inits already has a value, it should be the same as the one
|
// If deferred_inits already has a value, it should be the same as the one
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue