SHA256
1
0
forked from pool/openfst
openfst/gcc14.patch
2024-11-02 23:56:19 +01:00

33 lines
1.2 KiB
Diff

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;
}