SHA256
1
0
forked from pool/openfst

Add gcc14.patch

This commit is contained in:
Jan Engelhardt 2024-11-02 23:54:42 +01:00
parent afe17b4ef8
commit 4b140a38e3
3 changed files with 39 additions and 2 deletions

32
gcc14.patch Normal file
View File

@ -0,0 +1,32 @@
From: Jan Engelhardt <ej@inai.de>
Date: 2024-11-02 23:48:50.447834368 +0100
g++-14 does more checks even on _unexpanded_ templates; hence this
new error that did not show up in g++-12.
Building encode.cc under g++-14 yielded:
```
./../include/fst/fst.h:690:59: error: no match for 'operator=' (operand types are 'std::unique_ptr<fst::SymbolTable, std::default_delete<fst::SymbolTable> >' and 'fst::SymbolTable*')
690 | isymbols_ = impl.isymbols_ ? impl.isymbols_->Copy() : nullptr;
```
---
src/include/fst/fst.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: openfst-1.8.3/src/include/fst/fst.h
===================================================================
--- openfst-1.8.3.orig/src/include/fst/fst.h
+++ openfst-1.8.3/src/include/fst/fst.h
@@ -687,8 +687,8 @@ class FstImpl {
properties_.store(impl.properties_.load(std::memory_order_relaxed),
std::memory_order_relaxed);
type_ = impl.type_;
- isymbols_ = impl.isymbols_ ? impl.isymbols_->Copy() : nullptr;
- osymbols_ = impl.osymbols_ ? impl.osymbols_->Copy() : nullptr;
+ isymbols_.reset(impl.isymbols_ ? impl.isymbols_->Copy() : nullptr);
+ osymbols_.reset(impl.osymbols_ ? impl.osymbols_->Copy() : nullptr);
return *this;
}

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Sat Nov 2 22:54:35 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- Add gcc14.patch
-------------------------------------------------------------------
Thu Feb 8 13:43:36 UTC 2024 - Jan Engelhardt <jengelh@inai.de>

View File

@ -26,6 +26,7 @@ Group: Development/Libraries/C and C++
URL: http://www.openfst.org/
Source: http://www.openfst.org/twiki/pub/FST/FstDownload/%name-%version.tar.gz
Patch1: i586-80bitfp.patch
Patch2: gcc14.patch
%if 0%{?suse_version} && 0%{?suse_version} < 1600
BuildRequires: gcc12-c++ >= 8.1.0
%else
@ -72,8 +73,7 @@ autoreconf -fi
%make_install
find %buildroot/%_libdir -type f -name "*.la" -print -delete
%post -n %lname -p /sbin/ldconfig
%postun -n %lname -p /sbin/ldconfig
%ldconfig_scriptlets -n %lname
%files
%license COPYING