diff --git a/spot/twa/twagraph.cc b/spot/twa/twagraph.cc index 2bcce5fed..0fc9aa292 100644 --- a/spot/twa/twagraph.cc +++ b/spot/twa/twagraph.cc @@ -368,11 +368,12 @@ namespace spot unsigned n_edges = e_vec.size(); if (n_edges <= 1) { - if (n_states == 1) + if (n_states <= 1) return 0; // We don't have a very convenient way to resize the state // vector. std::vector remap(n_states, -1U); + SPOT_ASSUME(remap.data() != nullptr); // help GCC 9.4 remap[0] = 0; get_graph().defrag_states(remap, 1); SPOT_ASSERT(num_states() == 1); diff --git a/spot/twaalgos/split.cc b/spot/twaalgos/split.cc index 8ac5682f3..11146837d 100644 --- a/spot/twaalgos/split.cc +++ b/spot/twaalgos/split.cc @@ -232,7 +232,11 @@ namespace spot // number of a BDD that as been (or will be) split, and begin/end // denotes a range of existing transition numbers that cover the // split. - typedef std::pair cached_t; + // + // std::pair causes some noexcept warnings when used in + // robin_hood::unordered_map with GCC 9.4. Use robin_hood::pair + // instead. + typedef robin_hood::pair cached_t; robin_hood::unordered_map split_cond; bdd all = aut->ap_vars();