Fix gcc12 compilation issue

Signed-off-by: Igor Ivanov <igori@nvidia.com>
This commit is contained in:
Igor Ivanov 2022-01-31 18:17:29 +00:00
parent 32fc2e6ae6
commit deb14894eb
2 changed files with 41 additions and 1 deletions

View File

@ -0,0 +1,36 @@
From a42397e377cc2c26a6bb501ee131da63f0a33f45 Mon Sep 17 00:00:00 2001
From: Igor Ivanov <igori@nvidia.com>
Date: Mon, 31 Jan 2022 20:01:33 +0200
Subject: [PATCH] issue: 2945718 Fix gcc12 compilation issue
C++17 has deprecated a few components that had been in C++ since its beginning,
and std::iterator is one of them.
Signed-off-by: Igor Ivanov <igori@nvidia.com>
---
src/vma/util/vma_list.h | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/vma/util/vma_list.h b/src/vma/util/vma_list.h
index ae57fba4..9c9b6b38 100644
--- a/src/vma/util/vma_list.h
+++ b/src/vma/util/vma_list.h
@@ -88,9 +88,14 @@ public :
template<typename T, size_t offset(void)>
/* coverity[missing_move_assignment] */
-class list_iterator_t : public std::iterator<std::random_access_iterator_tag, T, std::ptrdiff_t, T*, T&>
+class list_iterator_t
{
public:
+ using iterator_category = std::random_access_iterator_tag;
+ using value_type = T;
+ using difference_type = std::ptrdiff_t;
+ using pointer = T*;
+ using reference = T&;
list_iterator_t(T* ptr = NULL) : m_ptr(ptr) {}
--
2.27.0

View File

@ -2,12 +2,13 @@
Name: libvma
Version: 9.4.0
Release: 2%{?dist}
Release: 3%{?dist}
Summary: A library for boosting TCP and UDP traffic (over RDMA hardware)
License: GPLv2 or BSD
Url: https://github.com/Mellanox/libvma
Source0: https://github.com/Mellanox/libvma/archive/%{version}/%{name}-%{version}.tar.gz
Patch0: 0001-Fix-gcc12-compilation-issue.patch
# libvma currently supports only the following architectures
ExclusiveArch: x86_64 ppc64le ppc64 aarch64
@ -99,6 +100,9 @@ rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/init.d/vma
%{_mandir}/man8/vma_stats.*
%changelog
* Mon Jan 31 2022 Fedora Release Engineering <igori@nvidia.com> - 9.4.0-3
- Fix gcc12 compilation issue
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild