Skip to content

Commit

Permalink
fix: Stringop overread warning in GCC12 (#2407)
Browse files Browse the repository at this point in the history
This showed up in our GCC12 based LCG builds, and only in Release mode. I don't think there's a way for us to fix this because the warning actually comes from `std::move`'ing `boost::small_vectors`. I'm suppressing the warnings here and remove the job from being allowed to fail.
  • Loading branch information
paulgessinger authored Aug 30, 2023
1 parent 5e57328 commit f972f33
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 3 deletions.
5 changes: 2 additions & 3 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -446,10 +446,9 @@ lcg_103:
- OS: [alma9]
COMPILER:
- gcc11
# currently failing
# - gcc12
- gcc12

rules:
- if: '$COMPILER == "clang12" || $COMPILER == "gcc12" || $COMPILER == "clang15"'
- if: '$COMPILER == "clang12" || $COMPILER == "clang15"'
allow_failure: true
- when: on_success
9 changes: 9 additions & 0 deletions Core/include/Acts/Seeding/BinnedSPGroup.ipp
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,16 @@ Acts::BinnedSPGroupIterator<external_spacepoint_t>::operator*() const {
m_group->m_bins[m_current_localBins[INDEX::Z]],
m_group->m_grid.get());

// GCC12+ in Release throws an overread warning here due to the move.
// This is from inside boost code, so best we can do is to suppress it.
#if defined(__GNUC__) && __GNUC__ >= 12 && !defined(__clang__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstringop-overread"
#endif
return std::make_tuple(std::move(bottoms), global_index, std::move(tops));
#if defined(__GNUC__) && __GNUC__ >= 12 && !defined(__clang__)
#pragma GCC diagnostic pop
#endif
}

template <typename external_spacepoint_t>
Expand Down

0 comments on commit f972f33

Please sign in to comment.