Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 704547 Details for
Bug 786459
sys-fs/cryfs: fails to compile against gcc11 (error: use of deleted function >‘cpputils::Data::Data(const cpputils::Data&)’)
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
patch
cryfs-0.10.2-gcc11.patch (text/plain), 6.69 KB, created by
Stephan Hartmann (RETIRED)
on 2021-04-30 15:17:55 UTC
(
hide
)
Description:
patch
Filename:
MIME Type:
Creator:
Stephan Hartmann (RETIRED)
Created:
2021-04-30 15:17:55 UTC
Size:
6.69 KB
patch
obsolete
>diff --git a/src/blobstore/implementations/onblocks/datanodestore/DataNodeView.h b/src/blobstore/implementations/onblocks/datanodestore/DataNodeView.h >index 256c284..9312689 100644 >--- a/src/blobstore/implementations/onblocks/datanodestore/DataNodeView.h >+++ b/src/blobstore/implementations/onblocks/datanodestore/DataNodeView.h >@@ -67,7 +67,7 @@ public: > > static DataNodeView create(blockstore::BlockStore *blockStore, const DataNodeLayout &layout, uint16_t formatVersion, uint8_t depth, uint32_t size, cpputils::Data data) { > ASSERT(data.size() <= layout.datasizeBytes(), "Data is too large for node"); >- cpputils::Data serialized = _serialize(layout, formatVersion, depth, size, std::move(data)); >+ cpputils::Data serialized = (_serialize)(layout, formatVersion, depth, size, std::move(data)); > ASSERT(serialized.size() == layout.blocksizeBytes(), "Wrong block size"); > auto block = blockStore->create(serialized); > return DataNodeView(std::move(block)); >@@ -75,7 +75,7 @@ public: > > static DataNodeView initialize(cpputils::unique_ref<blockstore::Block> block, const DataNodeLayout &layout, uint16_t formatVersion, uint8_t depth, uint32_t size, cpputils::Data data) { > ASSERT(data.size() <= DataNodeLayout(block->size()).datasizeBytes(), "Data is too large for node"); >- cpputils::Data serialized = _serialize(layout, formatVersion, depth, size, std::move(data)); >+ cpputils::Data serialized = (_serialize)(layout, formatVersion, depth, size, std::move(data)); > ASSERT(serialized.size() == block->size(), "Block has wrong size"); > block->write(serialized.data(), 0, serialized.size()); > return DataNodeView(std::move(block)); >@@ -83,7 +83,7 @@ public: > > static DataNodeView overwrite(blockstore::BlockStore *blockStore, const DataNodeLayout &layout, uint16_t formatVersion, uint8_t depth, uint32_t size, const blockstore::BlockId &blockId, cpputils::Data data) { > ASSERT(data.size() <= layout.datasizeBytes(), "Data is too large for node"); >- cpputils::Data serialized = _serialize(layout, formatVersion, depth, size, std::move(data)); >+ cpputils::Data serialized = (_serialize)(layout, formatVersion, depth, size, std::move(data)); > auto block = blockStore->overwrite(blockId, std::move(serialized)); > return DataNodeView(std::move(block)); > } >@@ -143,7 +143,7 @@ public: > } > > private: >- static cpputils::Data _serialize(const DataNodeLayout &layout, uint16_t formatVersion, uint8_t depth, uint32_t size, cpputils::Data data) { >+ static cpputils::Data (_serialize)(const DataNodeLayout &layout, uint16_t formatVersion, uint8_t depth, uint32_t size, cpputils::Data data) { > cpputils::Data result(layout.blocksizeBytes()); > cpputils::serialize<uint16_t>(result.dataOffset(layout.FORMAT_VERSION_OFFSET_BYTES), formatVersion); > cpputils::serialize<uint8_t>(result.dataOffset(layout.DEPTH_OFFSET_BYTES), depth); >diff --git a/src/cryfs/filesystem/fsblobstore/utils/DirEntry.cpp b/src/cryfs/filesystem/fsblobstore/utils/DirEntry.cpp >index 941148d..bdf1281 100644 >--- a/src/cryfs/filesystem/fsblobstore/utils/DirEntry.cpp >+++ b/src/cryfs/filesystem/fsblobstore/utils/DirEntry.cpp >@@ -11,7 +11,7 @@ namespace cryfs { > > namespace { > template<typename DataType> >- size_t _serialize(void* dst, const DataType& obj) { >+ size_t (_serialize)(void* dst, const DataType& obj) { > cpputils::serialize<DataType>(dst, obj); > return sizeof(DataType); > } >@@ -29,8 +29,8 @@ namespace cryfs { > > unsigned int _serializeTimeValue(uint8_t *dest, timespec value) { > unsigned int offset = 0; >- offset += _serialize<uint64_t>(dest + offset, value.tv_sec); >- offset += _serialize<uint32_t>(dest + offset, value.tv_nsec); >+ offset += (_serialize<uint64_t>)(dest + offset, value.tv_sec); >+ offset += (_serialize<uint32_t>)(dest + offset, value.tv_nsec); > ASSERT(offset == _serializedTimeValueSize(), "serialized to wrong size"); > return offset; > } >@@ -75,10 +75,10 @@ namespace cryfs { > _mode.hasDirFlag()) + ", " + std::to_string(_mode.hasSymlinkFlag()) + ", " + std::to_string(static_cast<uint8_t>(_type)) > ); > unsigned int offset = 0; >- offset += _serialize<uint8_t>(dest + offset, static_cast<uint8_t>(_type)); >- offset += _serialize<uint32_t>(dest + offset, _mode.value()); >- offset += _serialize<uint32_t>(dest + offset, _uid.value()); >- offset += _serialize<uint32_t>(dest + offset, _gid.value()); >+ offset += (_serialize<uint8_t>)(dest + offset, static_cast<uint8_t>(_type)); >+ offset += (_serialize<uint32_t>)(dest + offset, _mode.value()); >+ offset += (_serialize<uint32_t>)(dest + offset, _uid.value()); >+ offset += (_serialize<uint32_t>)(dest + offset, _gid.value()); > offset += _serializeTimeValue(dest + offset, _lastAccessTime); > offset += _serializeTimeValue(dest + offset, _lastModificationTime); > offset += _serializeTimeValue(dest + offset, _lastMetadataChangeTime); >diff --git a/src/cryfs/localstate/LocalStateMetadata.cpp b/src/cryfs/localstate/LocalStateMetadata.cpp >index 529a261..60c04ad 100644 >--- a/src/cryfs/localstate/LocalStateMetadata.cpp >+++ b/src/cryfs/localstate/LocalStateMetadata.cpp >@@ -53,7 +53,7 @@ optional<LocalStateMetadata> LocalStateMetadata::_load(const bf::path &metadataF > > void LocalStateMetadata::_save(const bf::path &metadataFilePath) const { > ofstream file(metadataFilePath.string(), std::ios::trunc); >- _serialize(file); >+ (_serialize)(file); > } > > namespace { >@@ -97,7 +97,7 @@ LocalStateMetadata LocalStateMetadata::_generate(const bf::path &metadataFilePat > return result; > } > >-void LocalStateMetadata::_serialize(ostream& stream) const { >+void (LocalStateMetadata::_serialize)(ostream& stream) const { > ptree pt; > pt.put<uint32_t>("myClientId", myClientId()); > pt.put<string>("encryptionKey.salt", _encryptionKeyHash.salt.ToString()); >diff --git a/src/cryfs/localstate/LocalStateMetadata.h b/src/cryfs/localstate/LocalStateMetadata.h >index 8b0ffc6..36ec4e0 100644 >--- a/src/cryfs/localstate/LocalStateMetadata.h >+++ b/src/cryfs/localstate/LocalStateMetadata.h >@@ -24,7 +24,7 @@ private: > static LocalStateMetadata _deserialize(std::istream& stream); > static LocalStateMetadata _generate(const boost::filesystem::path &metadataFilePath, const cpputils::Data& encryptionKey); > void _save(const boost::filesystem::path &metadataFilePath) const; >- void _serialize(std::ostream& stream) const; >+ void (_serialize)(std::ostream& stream) const; > > LocalStateMetadata(uint32_t myClientId, cpputils::hash::Hash encryptionKey); > };
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 786459
:
703257
|
703260
| 704547