git: 7d44e70bf6a7 - main - databases/tiledb: Fix build on i386
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 07 May 2023 16:12:56 UTC
The branch main has been updated by sunpoet: URL: https://cgit.FreeBSD.org/ports/commit/?id=7d44e70bf6a7996f92b8b8deb92280f8b580612f commit 7d44e70bf6a7996f92b8b8deb92280f8b580612f Author: Po-Chuan Hsieh <sunpoet@FreeBSD.org> AuthorDate: 2023-05-07 16:03:08 +0000 Commit: Po-Chuan Hsieh <sunpoet@FreeBSD.org> CommitDate: 2023-05-07 16:03:08 +0000 databases/tiledb: Fix build on i386 /wrkdirs/usr/ports/databases/tiledb/work/TileDB-2.15.2/tiledb/sm/fragment/fragment_metadata.cc:1721:18: error: non-constant-expression cannot be narrowed from type 'unsigned long long' to 'std::basic_string_view::size_type' (aka 'unsigned int') in initializer list [-Wc++11-narrowing] return {min, size}; ^~~~ /wrkdirs/usr/ports/databases/tiledb/work/TileDB-2.15.2/tiledb/sm/fragment/fragment_metadata.cc:1721:18: note: insert an explicit cast to silence this issue return {min, size}; ^~~~ static_cast<size_type>( ) /wrkdirs/usr/ports/databases/tiledb/work/TileDB-2.15.2/tiledb/sm/fragment/fragment_metadata.cc:1725:38: error: non-constant-expression cannot be narrowed from type 'uint64_t' (aka 'unsigned long long') to 'std::basic_string_view::size_type' (aka 'unsigned int') in initializer list [-Wc++11-narrowing] return {static_cast<char*>(min), size}; ^~~~ /wrkdirs/usr/ports/databases/tiledb/work/TileDB-2.15.2/tiledb/sm/fragment/fragment_metadata.cc:1725:38: note: insert an explicit cast to silence this issue return {static_cast<char*>(min), size}; ^~~~ static_cast<size_type>( ) /wrkdirs/usr/ports/databases/tiledb/work/TileDB-2.15.2/tiledb/sm/fragment/fragment_metadata.cc:1794:18: error: non-constant-expression cannot be narrowed from type 'unsigned long long' to 'std::basic_string_view::size_type' (aka 'unsigned int') in initializer list [-Wc++11-narrowing] return {max, size}; ^~~~ /wrkdirs/usr/ports/databases/tiledb/work/TileDB-2.15.2/tiledb/sm/fragment/fragment_metadata.cc:1794:18: note: insert an explicit cast to silence this issue return {max, size}; ^~~~ static_cast<size_type>( ) /wrkdirs/usr/ports/databases/tiledb/work/TileDB-2.15.2/tiledb/sm/fragment/fragment_metadata.cc:1798:38: error: non-constant-expression cannot be narrowed from type 'uint64_t' (aka 'unsigned long long') to 'std::basic_string_view::size_type' (aka 'unsigned int') in initializer list [-Wc++11-narrowing] return {static_cast<char*>(max), size}; ^~~~ /wrkdirs/usr/ports/databases/tiledb/work/TileDB-2.15.2/tiledb/sm/fragment/fragment_metadata.cc:1798:38: note: insert an explicit cast to silence this issue return {static_cast<char*>(max), size}; ^~~~ static_cast<size_type>( ) 4 errors generated. Reference: https://pkg-status.freebsd.org/beefy17/data/main-i386-default/pdf5b273c8e36_s83d5725005/logs/tiledb-2.15.2.log --- .../patch-tiledb-sm-fragment-fragment_metadata.cc | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/databases/tiledb/files/patch-tiledb-sm-fragment-fragment_metadata.cc b/databases/tiledb/files/patch-tiledb-sm-fragment-fragment_metadata.cc new file mode 100644 index 000000000000..390321055ebe --- /dev/null +++ b/databases/tiledb/files/patch-tiledb-sm-fragment-fragment_metadata.cc @@ -0,0 +1,30 @@ +--- tiledb/sm/fragment/fragment_metadata.cc.orig 2023-04-26 01:28:54 UTC ++++ tiledb/sm/fragment/fragment_metadata.cc +@@ -1718,11 +1718,11 @@ std::string_view FragmentMetadata::get_tile_min_as<std + tile_min_var_buffer_[idx].size() - min_offset : + offsets[tile_idx + 1] - min_offset; + char* min = &tile_min_var_buffer_[idx][min_offset]; +- return {min, size}; ++ return {min, (std::size_t) size}; + } else { + auto size = array_schema_->cell_size(name); + void* min = &tile_min_buffer_[idx][tile_idx * size]; +- return {static_cast<char*>(min), size}; ++ return {static_cast<char*>(min), (std::size_t) size}; + } + } + +@@ -1791,11 +1791,11 @@ std::string_view FragmentMetadata::get_tile_max_as<std + tile_max_var_buffer_[idx].size() - max_offset : + offsets[tile_idx + 1] - max_offset; + char* max = &tile_max_var_buffer_[idx][max_offset]; +- return {max, size}; ++ return {max, (std::size_t) size}; + } else { + auto size = array_schema_->cell_size(name); + void* max = &tile_max_buffer_[idx][tile_idx * size]; +- return {static_cast<char*>(max), size}; ++ return {static_cast<char*>(max), (std::size_t) size}; + } + } +