From 1077566e295574713f4fa9b83b6018cadd0c37ab Mon Sep 17 00:00:00 2001 From: Marcin Wojdyr Date: Thu, 5 Sep 2024 15:02:12 +0200 Subject: [PATCH] avoid bogus GCC warning in Topo::apply_all_restraints -Wstringop-overflow was triggered from vector::insert, similarly to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100366 Spotted after upgrading to Ubuntu 24.04 with GCC 14 --- src/topo.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/topo.cpp b/src/topo.cpp index ee6d4c6f..ef5867f8 100644 --- a/src/topo.cpp +++ b/src/topo.cpp @@ -606,6 +606,8 @@ void Topo::apply_all_restraints(const MonLib& monlib) { while (++it != ri.chemcomps.end()) { auto rules = apply_restraints(it->cc->rt, *ri.res, nullptr, Asu::Same, it->altloc, '\0', /*require_alt=*/true); + // calling reserve avoids bogus GCC warning -Wstringop-overflow + ri.monomer_rules.reserve(ri.monomer_rules.size() + rules.size()); vector_move_extend(ri.monomer_rules, std::move(rules)); } }