From 71ffaa3515b7880e0ac263cca54efe50979df470 Mon Sep 17 00:00:00 2001 From: Roberto Rossini <71787608+robomics@users.noreply.github.com> Date: Sun, 8 Sep 2024 13:55:39 +0200 Subject: [PATCH 1/2] Make fill_matrix() more general --- .../common/include/hictk/suppress_warnings.hpp | 3 +++ .../include/hictk/transformers/common.hpp | 18 +++++++++++++----- .../transformers/impl/to_dense_matrix_impl.hpp | 9 +++++---- .../impl/to_sparse_matrix_impl.hpp | 9 +++++---- 4 files changed, 26 insertions(+), 13 deletions(-) diff --git a/src/libhictk/common/include/hictk/suppress_warnings.hpp b/src/libhictk/common/include/hictk/suppress_warnings.hpp index 2cb57a82..bd84b5e3 100644 --- a/src/libhictk/common/include/hictk/suppress_warnings.hpp +++ b/src/libhictk/common/include/hictk/suppress_warnings.hpp @@ -18,6 +18,7 @@ #define DISABLE_WARNING(warningNumber) __pragma(warning(disable : warningNumber)) #define DISABLE_WARNING_BOOL_COMPARE DISABLE_WARNING(4806) + #define DISABLE_WARNING_CONVERSION DISABLE_WARNING(C4244) #define DISABLE_WARNING_DEPRECATED_DECLARATIONS DISABLE_WARNING(4996) #define DISABLE_WARNING_MAYBE_UNINITIALIZED #define DISABLE_WARNING_NULL_DEREF @@ -33,6 +34,7 @@ #define DISABLE_WARNING_POP DO_PRAGMA(GCC diagnostic pop) #define DISABLE_WARNING(warningName) DO_PRAGMA(GCC diagnostic ignored warningName) + #define DISABLE_WARNING_CONVERSION DISABLE_WARNING("-Wconversion") #define DISABLE_WARNING_DEPRECATED_DECLARATIONS DISABLE_WARNING("-Wdeprecated-declarations") #define DISABLE_WARNING_NULL_DEREF DISABLE_WARNING("-Wnull-dereference") #define DISABLE_WARNING_SIGN_COMPARE DISABLE_WARNING("-Wsign-compare") @@ -60,6 +62,7 @@ #define DISABLE_WARNING_POP #define DISABLE_WARNING_BOOL_COMPARE + #define DISABLE_WARNING_CONVERSION #define DISABLE_WARNING_DEPRECATED_DECLARATIONS #define DISABLE_WARNING_MAYBE_UNINITIALIZED #define DISABLE_WARNING_NULL_DEREF diff --git a/src/libhictk/transformers/include/hictk/transformers/common.hpp b/src/libhictk/transformers/include/hictk/transformers/common.hpp index 2d7642e6..4b5838cf 100644 --- a/src/libhictk/transformers/include/hictk/transformers/common.hpp +++ b/src/libhictk/transformers/include/hictk/transformers/common.hpp @@ -10,6 +10,7 @@ #include #include "hictk/pixel.hpp" +#include "hictk/suppress_warnings.hpp" namespace hictk::transformers { enum class QuerySpan : std::uint_fast8_t { lower_triangle, upper_triangle, full }; @@ -24,9 +25,10 @@ inline constexpr bool has_coord1_member_fx -inline void fill_matrix(const PixelSelector& sel, MatrixT& buffer, std::int64_t offset1, - std::int64_t offset2, bool populate_lower_triangle, - bool populate_upper_triangle, SetterOp matrix_setter) { +inline void fill_matrix(const PixelSelector& sel, MatrixT& buffer, std::int64_t num_rows, + std::int64_t num_cols, std::int64_t offset1, std::int64_t offset2, + bool populate_lower_triangle, bool populate_upper_triangle, + SetterOp matrix_setter) { assert(populate_lower_triangle || populate_upper_triangle); std::for_each(sel.template begin(), sel.template end(), [&](const ThinPixel& p) { @@ -34,8 +36,11 @@ inline void fill_matrix(const PixelSelector& sel, MatrixT& buffer, std::int64_t const auto i2 = static_cast(p.bin2_id) - offset2; bool inserted = false; if (populate_upper_triangle) { - if (i1 >= 0 && i1 < buffer.rows() && i2 >= 0 && i2 < buffer.cols()) { + if (i1 >= 0 && i1 < num_rows && i2 >= 0 && i2 < num_cols) { + DISABLE_WARNING_PUSH + DISABLE_WARNING_CONVERSION matrix_setter(buffer, i1, i2, p.count); + DISABLE_WARNING_POP inserted = true; } } @@ -48,8 +53,11 @@ inline void fill_matrix(const PixelSelector& sel, MatrixT& buffer, std::int64_t return; } - if (i3 >= 0 && i3 < buffer.rows() && i4 >= 0 && i4 < buffer.cols()) { + if (i3 >= 0 && i3 < num_rows && i4 >= 0 && i4 < num_cols) { + DISABLE_WARNING_PUSH + DISABLE_WARNING_CONVERSION matrix_setter(buffer, i3, i4, p.count); + DISABLE_WARNING_POP } } }); diff --git a/src/libhictk/transformers/include/hictk/transformers/impl/to_dense_matrix_impl.hpp b/src/libhictk/transformers/include/hictk/transformers/impl/to_dense_matrix_impl.hpp index 4aee55f0..3b4789bd 100644 --- a/src/libhictk/transformers/include/hictk/transformers/impl/to_dense_matrix_impl.hpp +++ b/src/libhictk/transformers/include/hictk/transformers/impl/to_dense_matrix_impl.hpp @@ -45,14 +45,15 @@ inline auto ToDenseMatrix::operator()() -> MatrixT { coord3.bin2 = std::max(coord3.bin2, coord4.bin2); coord4 = coord3; - internal::fill_matrix(_sel.fetch(coord3, coord4), matrix, row_offset(), col_offset(), - populate_lower_triangle, populate_upper_triangle, matrix_setter); + internal::fill_matrix(_sel.fetch(coord3, coord4), matrix, matrix.rows(), matrix.cols(), + row_offset(), col_offset(), populate_lower_triangle, + populate_upper_triangle, matrix_setter); return matrix; } } - internal::fill_matrix(_sel, matrix, row_offset(), col_offset(), populate_lower_triangle, - populate_upper_triangle, matrix_setter); + internal::fill_matrix(_sel, matrix, matrix.rows(), matrix.cols(), row_offset(), col_offset(), + populate_lower_triangle, populate_upper_triangle, matrix_setter); return matrix; } diff --git a/src/libhictk/transformers/include/hictk/transformers/impl/to_sparse_matrix_impl.hpp b/src/libhictk/transformers/include/hictk/transformers/impl/to_sparse_matrix_impl.hpp index f6a8f797..f1bc065a 100644 --- a/src/libhictk/transformers/include/hictk/transformers/impl/to_sparse_matrix_impl.hpp +++ b/src/libhictk/transformers/include/hictk/transformers/impl/to_sparse_matrix_impl.hpp @@ -45,15 +45,16 @@ inline auto ToSparseMatrix::operator()() -> MatrixT { coord3.bin2 = std::max(coord3.bin2, coord4.bin2); coord4 = coord3; - internal::fill_matrix(_sel.fetch(coord3, coord4), matrix, row_offset(), col_offset(), - populate_lower_triangle, populate_upper_triangle, matrix_setter); + internal::fill_matrix(_sel.fetch(coord3, coord4), matrix, matrix.rows(), matrix.cols(), + row_offset(), col_offset(), populate_lower_triangle, + populate_upper_triangle, matrix_setter); matrix.makeCompressed(); return matrix; } } - internal::fill_matrix(_sel, matrix, row_offset(), col_offset(), populate_lower_triangle, - populate_upper_triangle, matrix_setter); + internal::fill_matrix(_sel, matrix, matrix.rows(), matrix.cols(), row_offset(), col_offset(), + populate_lower_triangle, populate_upper_triangle, matrix_setter); matrix.makeCompressed(); return matrix; } From 53cc3ae4e47ba04a547e0cb12510a922ee87ef94 Mon Sep 17 00:00:00 2001 From: Roberto Rossini <71787608+robomics@users.noreply.github.com> Date: Sun, 8 Sep 2024 16:33:48 +0200 Subject: [PATCH 2/2] Add prefix to macros to suppress compiler warnings --- .clang-tidy | 2 +- src/hictk/metadata/common.hpp | 6 +- .../hictk/impl/bin_table_fixed_impl.hpp | 6 +- .../include/hictk/impl/bin_table_impl.hpp | 6 +- .../include/hictk/suppress_warnings.hpp | 66 +++++++++---------- .../cooler/include/hictk/cooler/cooler.hpp | 6 +- .../cooler/include/hictk/cooler/dataset.hpp | 12 ++-- .../cooler/include/hictk/cooler/group.hpp | 12 ++-- .../hictk/cooler/impl/attribute_impl.hpp | 12 ++-- .../hictk/cooler/impl/dataset_read_impl.hpp | 12 ++-- .../include/hictk/cooler/impl/file_impl.hpp | 6 +- .../hictk/cooler/impl/file_read_impl.hpp | 6 +- .../cooler/impl/singlecell_cooler_impl.hpp | 4 +- .../include/hictk/cooler/validation.hpp | 6 +- .../hictk/hic/impl/file_writer_impl.hpp | 6 +- .../include/hictk/transformers/common.hpp | 12 ++-- .../attribute_numeric_conversions_test.cpp | 6 +- test/units/filestream/filestream_test.cpp | 12 ++-- 18 files changed, 99 insertions(+), 99 deletions(-) diff --git a/.clang-tidy b/.clang-tidy index 96742985..5c5267e7 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -28,7 +28,7 @@ HeaderFilterRegex: "" FormatStyle: none CheckOptions: - key: cppcoreguidelines-macro-usage.AllowedRegexp - value: "DISABLE_WARNING_.*" + value: "HICTK_DISABLE_WARNING_.*" - key: misc-include-cleaner.IgnoreHeaders value: "fmt/.*" - key: misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic diff --git a/src/hictk/metadata/common.hpp b/src/hictk/metadata/common.hpp index 2c83aea6..f0ade279 100644 --- a/src/hictk/metadata/common.hpp +++ b/src/hictk/metadata/common.hpp @@ -55,14 +55,14 @@ inline void emplace_if_valid(std::string_view key, const T& value, toml::table& if (key.empty()) { return; } - DISABLE_WARNING_PUSH - DISABLE_WARNING_BOOL_COMPARE + HICTK_DISABLE_WARNING_PUSH + HICTK_DISABLE_WARNING_BOOL_COMPARE if (value <= std::numeric_limits::max()) { buff.insert(key, static_cast(value)); } else { emplace_if_valid(key, fmt::to_string(value), buff); } - DISABLE_WARNING_POP + HICTK_DISABLE_WARNING_POP } template >* = nullptr> diff --git a/src/libhictk/bin_table/include/hictk/impl/bin_table_fixed_impl.hpp b/src/libhictk/bin_table/include/hictk/impl/bin_table_fixed_impl.hpp index 88b394a0..8f0b50ee 100644 --- a/src/libhictk/bin_table/include/hictk/impl/bin_table_fixed_impl.hpp +++ b/src/libhictk/bin_table/include/hictk/impl/bin_table_fixed_impl.hpp @@ -204,11 +204,11 @@ inline std::vector BinTableFixed::compute_num_bins_prefix_sum( const Reference &chroms, std::uint32_t bin_size, std::size_t bin_offset) { assert(bin_size != 0); - DISABLE_WARNING_PUSH - DISABLE_WARNING_NULL_DEREF + HICTK_DISABLE_WARNING_PUSH + HICTK_DISABLE_WARNING_NULL_DEREF std::vector prefix_sum(chroms.size() + 1); prefix_sum.front() = bin_offset; - DISABLE_WARNING_POP + HICTK_DISABLE_WARNING_POP // I am using transform instead of inclusive_scan because the latter is not always available std::transform(chroms.begin(), chroms.end(), prefix_sum.begin() + 1, diff --git a/src/libhictk/bin_table/include/hictk/impl/bin_table_impl.hpp b/src/libhictk/bin_table/include/hictk/impl/bin_table_impl.hpp index 359fb434..fc91f18e 100644 --- a/src/libhictk/bin_table/include/hictk/impl/bin_table_impl.hpp +++ b/src/libhictk/bin_table/include/hictk/impl/bin_table_impl.hpp @@ -103,10 +103,10 @@ inline auto BinTable::find_overlap(const GenomicInterval &query) const return std::visit( [&](const auto &t) { auto its = t.find_overlap(query); - DISABLE_WARNING_PUSH - DISABLE_WARNING_MAYBE_UNINITIALIZED + HICTK_DISABLE_WARNING_PUSH + HICTK_DISABLE_WARNING_MAYBE_UNINITIALIZED return std::make_pair(iterator{its.first}, iterator{its.second}); - DISABLE_WARNING_POP + HICTK_DISABLE_WARNING_POP }, _table); } diff --git a/src/libhictk/common/include/hictk/suppress_warnings.hpp b/src/libhictk/common/include/hictk/suppress_warnings.hpp index bd84b5e3..b3db2724 100644 --- a/src/libhictk/common/include/hictk/suppress_warnings.hpp +++ b/src/libhictk/common/include/hictk/suppress_warnings.hpp @@ -13,62 +13,62 @@ // Defines for MSVC #ifdef _MSC_VER - #define DISABLE_WARNING_PUSH __pragma(warning(push)) - #define DISABLE_WARNING_POP __pragma(warning(pop)) + #define HICTK_DISABLE_WARNING_PUSH __pragma(warning(push)) + #define HICTK_DISABLE_WARNING_POP __pragma(warning(pop)) #define DISABLE_WARNING(warningNumber) __pragma(warning(disable : warningNumber)) - #define DISABLE_WARNING_BOOL_COMPARE DISABLE_WARNING(4806) - #define DISABLE_WARNING_CONVERSION DISABLE_WARNING(C4244) - #define DISABLE_WARNING_DEPRECATED_DECLARATIONS DISABLE_WARNING(4996) - #define DISABLE_WARNING_MAYBE_UNINITIALIZED - #define DISABLE_WARNING_NULL_DEREF - #define DISABLE_WARNING_USELESS_CAST - #define DISABLE_WARNING_SIGN_COMPARE - #define DISABLE_WARNING_UNREACHABLE_CODE DISABLE_WARNING(4702) + #define HICTK_DISABLE_WARNING_BOOL_COMPARE DISABLE_WARNING(4806) + #define HICTK_DISABLE_WARNING_CONVERSION DISABLE_WARNING(C4244) + #define HICTK_DISABLE_WARNING_DEPRECATED_DECLARATIONS DISABLE_WARNING(4996) + #define HICTK_DISABLE_WARNING_MAYBE_UNINITIALIZED + #define HICTK_DISABLE_WARNING_NULL_DEREF + #define HICTK_DISABLE_WARNING_USELESS_CAST + #define HICTK_DISABLE_WARNING_SIGN_COMPARE + #define HICTK_DISABLE_WARNING_UNREACHABLE_CODE DISABLE_WARNING(4702) #endif // Defines for GCC and Clang #if defined(__GNUC__) || defined(__clang__) #define DO_PRAGMA(X) _Pragma(#X) - #define DISABLE_WARNING_PUSH DO_PRAGMA(GCC diagnostic push) - #define DISABLE_WARNING_POP DO_PRAGMA(GCC diagnostic pop) + #define HICTK_DISABLE_WARNING_PUSH DO_PRAGMA(GCC diagnostic push) + #define HICTK_DISABLE_WARNING_POP DO_PRAGMA(GCC diagnostic pop) #define DISABLE_WARNING(warningName) DO_PRAGMA(GCC diagnostic ignored warningName) - #define DISABLE_WARNING_CONVERSION DISABLE_WARNING("-Wconversion") - #define DISABLE_WARNING_DEPRECATED_DECLARATIONS DISABLE_WARNING("-Wdeprecated-declarations") - #define DISABLE_WARNING_NULL_DEREF DISABLE_WARNING("-Wnull-dereference") - #define DISABLE_WARNING_SIGN_COMPARE DISABLE_WARNING("-Wsign-compare") - #define DISABLE_WARNING_UNREACHABLE_CODE + #define HICTK_DISABLE_WARNING_CONVERSION DISABLE_WARNING("-Wconversion") + #define HICTK_DISABLE_WARNING_DEPRECATED_DECLARATIONS DISABLE_WARNING("-Wdeprecated-declarations") + #define HICTK_DISABLE_WARNING_NULL_DEREF DISABLE_WARNING("-Wnull-dereference") + #define HICTK_DISABLE_WARNING_SIGN_COMPARE DISABLE_WARNING("-Wsign-compare") + #define HICTK_DISABLE_WARNING_UNREACHABLE_CODE #endif // Defines for GCC only #if defined(__GNUC__) && !defined(__clang__) - #define DISABLE_WARNING_BOOL_COMPARE DISABLE_WARNING("-Wbool-compare") - #define DISABLE_WARNING_MAYBE_UNINITIALIZED DISABLE_WARNING("-Wmaybe-uninitialized") - #define DISABLE_WARNING_USELESS_CAST DISABLE_WARNING("-Wuseless-cast") + #define HICTK_DISABLE_WARNING_BOOL_COMPARE DISABLE_WARNING("-Wbool-compare") + #define HICTK_DISABLE_WARNING_MAYBE_UNINITIALIZED DISABLE_WARNING("-Wmaybe-uninitialized") + #define HICTK_DISABLE_WARNING_USELESS_CAST DISABLE_WARNING("-Wuseless-cast") #endif // Defines for Clang only #ifdef __clang__ - #define DISABLE_WARNING_BOOL_COMPARE DISABLE_WARNING("-Wtautological-constant-out-of-range-compare") - #define DISABLE_WARNING_MAYBE_UNINITIALIZED - #define DISABLE_WARNING_USELESS_CAST + #define HICTK_DISABLE_WARNING_BOOL_COMPARE DISABLE_WARNING("-Wtautological-constant-out-of-range-compare") + #define HICTK_DISABLE_WARNING_MAYBE_UNINITIALIZED + #define HICTK_DISABLE_WARNING_USELESS_CAST #endif // Defines for unknown/unsupported compilers #if !defined(_MSC_VER) && !defined(__GNUC__) && !defined(__clang__) #define DISABLE_WARNING - #define DISABLE_WARNING_PUSH - #define DISABLE_WARNING_POP + #define HICTK_DISABLE_WARNING_PUSH + #define HICTK_DISABLE_WARNING_POP - #define DISABLE_WARNING_BOOL_COMPARE - #define DISABLE_WARNING_CONVERSION - #define DISABLE_WARNING_DEPRECATED_DECLARATIONS - #define DISABLE_WARNING_MAYBE_UNINITIALIZED - #define DISABLE_WARNING_NULL_DEREF - #define DISABLE_WARNING_USELESS_CAST - #define DISABLE_WARNING_SIGN_COMPARE - #define DISABLE_WARNING_UNREACHABLE_CODE + #define HICTK_DISABLE_WARNING_BOOL_COMPARE + #define HICTK_DISABLE_WARNING_CONVERSION + #define HICTK_DISABLE_WARNING_DEPRECATED_DECLARATIONS + #define HICTK_DISABLE_WARNING_MAYBE_UNINITIALIZED + #define HICTK_DISABLE_WARNING_NULL_DEREF + #define HICTK_DISABLE_WARNING_USELESS_CAST + #define HICTK_DISABLE_WARNING_SIGN_COMPARE + #define HICTK_DISABLE_WARNING_UNREACHABLE_CODE #endif // NOLINTEND(cppcoreguidelines-macro-usage) diff --git a/src/libhictk/cooler/include/hictk/cooler/cooler.hpp b/src/libhictk/cooler/include/hictk/cooler/cooler.hpp index b09c9475..4f9c0655 100644 --- a/src/libhictk/cooler/include/hictk/cooler/cooler.hpp +++ b/src/libhictk/cooler/include/hictk/cooler/cooler.hpp @@ -9,11 +9,11 @@ // clang-format off #include "hictk/suppress_warnings.hpp" // clang-format on -DISABLE_WARNING_PUSH -DISABLE_WARNING_NULL_DEREF +HICTK_DISABLE_WARNING_PUSH +HICTK_DISABLE_WARNING_NULL_DEREF #include #include -DISABLE_WARNING_POP +HICTK_DISABLE_WARNING_POP #include #include diff --git a/src/libhictk/cooler/include/hictk/cooler/dataset.hpp b/src/libhictk/cooler/include/hictk/cooler/dataset.hpp index fe3cd406..e6ef27c0 100644 --- a/src/libhictk/cooler/include/hictk/cooler/dataset.hpp +++ b/src/libhictk/cooler/include/hictk/cooler/dataset.hpp @@ -14,10 +14,10 @@ #include #include -DISABLE_WARNING_PUSH -DISABLE_WARNING_NULL_DEREF +HICTK_DISABLE_WARNING_PUSH +HICTK_DISABLE_WARNING_NULL_DEREF #include -DISABLE_WARNING_POP +HICTK_DISABLE_WARNING_POP #include #include #include @@ -53,8 +53,8 @@ template inline constexpr bool is_atomic_buffer_v = is_atomic_buffer::value; } // namespace internal -DISABLE_WARNING_PUSH -DISABLE_WARNING_DEPRECATED_DECLARATIONS +HICTK_DISABLE_WARNING_PUSH +HICTK_DISABLE_WARNING_DEPRECATED_DECLARATIONS class Dataset { using VariantBuffer = hictk::internal::VariantBuffer; using GenericVariant = hictk::internal::GenericVariant; @@ -308,7 +308,7 @@ class Dataset { std::size_t chunk_size) -> iterator; }; }; -DISABLE_WARNING_POP +HICTK_DISABLE_WARNING_POP using DatasetMap = phmap::flat_hash_map; diff --git a/src/libhictk/cooler/include/hictk/cooler/group.hpp b/src/libhictk/cooler/include/hictk/cooler/group.hpp index d1bcf5ef..4a424f1e 100644 --- a/src/libhictk/cooler/include/hictk/cooler/group.hpp +++ b/src/libhictk/cooler/include/hictk/cooler/group.hpp @@ -13,17 +13,17 @@ #include #include -DISABLE_WARNING_PUSH -DISABLE_WARNING_NULL_DEREF +HICTK_DISABLE_WARNING_PUSH +HICTK_DISABLE_WARNING_NULL_DEREF #include -DISABLE_WARNING_POP +HICTK_DISABLE_WARNING_POP #include #include namespace hictk::cooler { -DISABLE_WARNING_PUSH -DISABLE_WARNING_DEPRECATED_DECLARATIONS +HICTK_DISABLE_WARNING_PUSH +HICTK_DISABLE_WARNING_DEPRECATED_DECLARATIONS struct RootGroup { HighFive::Group group{}; @@ -44,7 +44,7 @@ struct Group { [[nodiscard]] constexpr HighFive::Group &operator()() noexcept { return group; }; [[nodiscard]] constexpr const HighFive::Group &operator()() const noexcept { return group; }; }; -DISABLE_WARNING_POP +HICTK_DISABLE_WARNING_POP using GroupMap = phmap::flat_hash_map; diff --git a/src/libhictk/cooler/include/hictk/cooler/impl/attribute_impl.hpp b/src/libhictk/cooler/include/hictk/cooler/impl/attribute_impl.hpp index 49e998a8..823d950d 100644 --- a/src/libhictk/cooler/include/hictk/cooler/impl/attribute_impl.hpp +++ b/src/libhictk/cooler/include/hictk/cooler/impl/attribute_impl.hpp @@ -112,8 +112,8 @@ inline void Attribute::read_vector(const ParentObj& h5obj, std::string_view key, } } -DISABLE_WARNING_PUSH -DISABLE_WARNING_UNREACHABLE_CODE +HICTK_DISABLE_WARNING_PUSH +HICTK_DISABLE_WARNING_UNREACHABLE_CODE template inline auto Attribute::read_variant(const HighFive::Attribute& attr) -> AttributeVar { if constexpr (i < std::variant_size_v) { @@ -135,10 +135,10 @@ inline auto Attribute::read_variant(const HighFive::Attribute& attr) -> Attribut } return std::monostate(); } -DISABLE_WARNING_POP +HICTK_DISABLE_WARNING_POP -DISABLE_WARNING_PUSH -DISABLE_WARNING_UNREACHABLE_CODE +HICTK_DISABLE_WARNING_PUSH +HICTK_DISABLE_WARNING_UNREACHABLE_CODE template // NOLINTNEXTLINE(readability-function-cognitive-complexity) inline Tout Attribute::numeric_converter(T1& buff) { @@ -221,6 +221,6 @@ inline Tout Attribute::numeric_converter(T1& buff) { "Expected type {}, found {}. Unable to safely convert value {} of type {} to type {}"), type_name(), type_name(), buff, type_name(), type_name())); } -DISABLE_WARNING_POP +HICTK_DISABLE_WARNING_POP } // namespace hictk::cooler diff --git a/src/libhictk/cooler/include/hictk/cooler/impl/dataset_read_impl.hpp b/src/libhictk/cooler/include/hictk/cooler/impl/dataset_read_impl.hpp index 7bbddfea..c3dc0455 100644 --- a/src/libhictk/cooler/include/hictk/cooler/impl/dataset_read_impl.hpp +++ b/src/libhictk/cooler/include/hictk/cooler/impl/dataset_read_impl.hpp @@ -56,8 +56,8 @@ inline std::size_t Dataset::read(std::vector &buff, std::size_t num return offset + buff.size(); } -DISABLE_WARNING_PUSH -DISABLE_WARNING_UNREACHABLE_CODE +HICTK_DISABLE_WARNING_PUSH +HICTK_DISABLE_WARNING_UNREACHABLE_CODE template inline std::size_t Dataset::read(VariantBuffer &vbuff, std::size_t num, std::size_t offset) const { if constexpr (i == 0) { @@ -93,7 +93,7 @@ inline std::size_t Dataset::read(VariantBuffer &vbuff, std::size_t num, std::siz unreachable_code(); } -DISABLE_WARNING_POP +HICTK_DISABLE_WARNING_POP template inline BuffT Dataset::read_n(std::size_t num, std::size_t offset) const { @@ -146,8 +146,8 @@ inline std::size_t Dataset::read(std::string &buff, std::size_t offset) const { return offset + 1; } -DISABLE_WARNING_PUSH -DISABLE_WARNING_UNREACHABLE_CODE +HICTK_DISABLE_WARNING_PUSH +HICTK_DISABLE_WARNING_UNREACHABLE_CODE template inline std::size_t Dataset::read(GenericVariant &vbuff, std::size_t offset) const { if constexpr (i == 0) { @@ -182,7 +182,7 @@ inline std::size_t Dataset::read(GenericVariant &vbuff, std::size_t offset) cons unreachable_code(); } -DISABLE_WARNING_POP +HICTK_DISABLE_WARNING_POP template inline BuffT Dataset::read(std::size_t offset) const { diff --git a/src/libhictk/cooler/include/hictk/cooler/impl/file_impl.hpp b/src/libhictk/cooler/include/hictk/cooler/impl/file_impl.hpp index fa41eb8e..61f34074 100644 --- a/src/libhictk/cooler/include/hictk/cooler/impl/file_impl.hpp +++ b/src/libhictk/cooler/include/hictk/cooler/impl/file_impl.hpp @@ -306,8 +306,8 @@ inline auto File::open_or_create_root_group(HighFive::File f, std::string_view u return create_root_group(f, uri); } -DISABLE_WARNING_PUSH -DISABLE_WARNING_UNREACHABLE_CODE +HICTK_DISABLE_WARNING_PUSH +HICTK_DISABLE_WARNING_UNREACHABLE_CODE namespace internal { template [[nodiscard]] inline Variant read_pixel_variant(const HighFive::DataSet &dset) { @@ -328,7 +328,7 @@ template fmt::format(FMT_STRING("Unsupported type for dataset \"{}\""), dset.getPath())); } } -DISABLE_WARNING_POP +HICTK_DISABLE_WARNING_POP } // namespace internal inline hictk::internal::NumericVariant File::detect_pixel_type(const RootGroup &root_grp, diff --git a/src/libhictk/cooler/include/hictk/cooler/impl/file_read_impl.hpp b/src/libhictk/cooler/include/hictk/cooler/impl/file_read_impl.hpp index 7d51e5e9..e6fbf0fc 100644 --- a/src/libhictk/cooler/include/hictk/cooler/impl/file_read_impl.hpp +++ b/src/libhictk/cooler/include/hictk/cooler/impl/file_read_impl.hpp @@ -440,8 +440,8 @@ bool read_sum_optional(const RootGroup &root_grp, std::string_view key, N &buff, } // namespace internal -DISABLE_WARNING_PUSH -DISABLE_WARNING_UNREACHABLE_CODE +HICTK_DISABLE_WARNING_PUSH +HICTK_DISABLE_WARNING_UNREACHABLE_CODE inline auto File::read_standard_attributes(const RootGroup &root_grp, bool initialize_missing) -> Attributes { auto attrs = initialize_missing ? Attributes::init(0) : Attributes::init_empty(); @@ -496,7 +496,7 @@ inline auto File::read_standard_attributes(const RootGroup &root_grp, return attrs; } -DISABLE_WARNING_POP +HICTK_DISABLE_WARNING_POP inline auto File::import_chroms(const Dataset &chrom_names, const Dataset &chrom_sizes, bool missing_ok) -> Reference { diff --git a/src/libhictk/cooler/include/hictk/cooler/impl/singlecell_cooler_impl.hpp b/src/libhictk/cooler/include/hictk/cooler/impl/singlecell_cooler_impl.hpp index 056c2a4b..258dd108 100644 --- a/src/libhictk/cooler/include/hictk/cooler/impl/singlecell_cooler_impl.hpp +++ b/src/libhictk/cooler/include/hictk/cooler/impl/singlecell_cooler_impl.hpp @@ -228,7 +228,7 @@ inline File SingleCellFile::aggregate(std::string_view uri, bool overwrite_if_ex return File(uri); } -DISABLE_WARNING_PUSH DISABLE_WARNING_UNREACHABLE_CODE inline SingleCellAttributes +HICTK_DISABLE_WARNING_PUSH HICTK_DISABLE_WARNING_UNREACHABLE_CODE inline SingleCellAttributes SingleCellFile::read_standard_attributes(const HighFive::File& f, bool initialize_missing) { const RootGroup root_grp{f.getGroup("/")}; auto attrs = @@ -274,7 +274,7 @@ SingleCellFile::read_standard_attributes(const HighFive::File& f, bool initializ return attrs; } // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks) -DISABLE_WARNING_POP +HICTK_DISABLE_WARNING_POP inline BinTable SingleCellFile::init_bin_table(const HighFive::File& f) { [[maybe_unused]] HighFive::SilenceHDF5 silencer{}; // NOLINT diff --git a/src/libhictk/cooler/include/hictk/cooler/validation.hpp b/src/libhictk/cooler/include/hictk/cooler/validation.hpp index ca077525..a21258d5 100644 --- a/src/libhictk/cooler/include/hictk/cooler/validation.hpp +++ b/src/libhictk/cooler/include/hictk/cooler/validation.hpp @@ -11,10 +11,10 @@ #include #include -DISABLE_WARNING_PUSH -DISABLE_WARNING_NULL_DEREF +HICTK_DISABLE_WARNING_PUSH +HICTK_DISABLE_WARNING_NULL_DEREF #include -DISABLE_WARNING_POP +HICTK_DISABLE_WARNING_POP #include #include #include diff --git a/src/libhictk/hic/include/hictk/hic/impl/file_writer_impl.hpp b/src/libhictk/hic/include/hictk/hic/impl/file_writer_impl.hpp index 6c6bb15b..9bc01e3e 100644 --- a/src/libhictk/hic/include/hictk/hic/impl/file_writer_impl.hpp +++ b/src/libhictk/hic/include/hictk/hic/impl/file_writer_impl.hpp @@ -672,10 +672,10 @@ inline void HiCFileWriter::write_empty_normalized_expected_values() { offset); try { _fs.seekp(offset); - DISABLE_WARNING_PUSH - DISABLE_WARNING_USELESS_CAST + HICTK_DISABLE_WARNING_PUSH + HICTK_DISABLE_WARNING_USELESS_CAST _fs.write(std::int32_t(0)); - DISABLE_WARNING_POP + HICTK_DISABLE_WARNING_POP } catch (const std::exception &e) { throw std::runtime_error( fmt::format(FMT_STRING("an error occurred while writing an empty normalized expected " diff --git a/src/libhictk/transformers/include/hictk/transformers/common.hpp b/src/libhictk/transformers/include/hictk/transformers/common.hpp index 4b5838cf..b78271f6 100644 --- a/src/libhictk/transformers/include/hictk/transformers/common.hpp +++ b/src/libhictk/transformers/include/hictk/transformers/common.hpp @@ -37,10 +37,10 @@ inline void fill_matrix(const PixelSelector& sel, MatrixT& buffer, std::int64_t bool inserted = false; if (populate_upper_triangle) { if (i1 >= 0 && i1 < num_rows && i2 >= 0 && i2 < num_cols) { - DISABLE_WARNING_PUSH - DISABLE_WARNING_CONVERSION + HICTK_DISABLE_WARNING_PUSH + HICTK_DISABLE_WARNING_CONVERSION matrix_setter(buffer, i1, i2, p.count); - DISABLE_WARNING_POP + HICTK_DISABLE_WARNING_POP inserted = true; } } @@ -54,10 +54,10 @@ inline void fill_matrix(const PixelSelector& sel, MatrixT& buffer, std::int64_t } if (i3 >= 0 && i3 < num_rows && i4 >= 0 && i4 < num_cols) { - DISABLE_WARNING_PUSH - DISABLE_WARNING_CONVERSION + HICTK_DISABLE_WARNING_PUSH + HICTK_DISABLE_WARNING_CONVERSION matrix_setter(buffer, i3, i4, p.count); - DISABLE_WARNING_POP + HICTK_DISABLE_WARNING_POP } } }); diff --git a/test/units/cooler/attribute_numeric_conversions_test.cpp b/test/units/cooler/attribute_numeric_conversions_test.cpp index 62bec1e2..319ce4cd 100644 --- a/test/units/cooler/attribute_numeric_conversions_test.cpp +++ b/test/units/cooler/attribute_numeric_conversions_test.cpp @@ -52,13 +52,13 @@ TEST_CASE("Cooler: attribute read - test numeric conversions", "[cooler][short]" Catch::Matchers::ContainsSubstring("Unable to represent value 12345") && Catch::Matchers::ContainsSubstring("without overflowing")); - DISABLE_WARNING_PUSH - DISABLE_WARNING_USELESS_CAST + HICTK_DISABLE_WARNING_PUSH + HICTK_DISABLE_WARNING_USELESS_CAST Attribute::write(f, "std::int32_t", std::int32_t(-1), true); CHECK_THROWS_WITH(Attribute::read(f, "std::int32_t"), Catch::Matchers::ContainsSubstring("Unable to represent value -1") && Catch::Matchers::ContainsSubstring("without overflowing")); - DISABLE_WARNING_POP + HICTK_DISABLE_WARNING_POP Attribute::write(f, "std::int64_t", std::numeric_limits::lowest()); CHECK_THROWS_WITH(Attribute::read(f, "std::int64_t"), diff --git a/test/units/filestream/filestream_test.cpp b/test/units/filestream/filestream_test.cpp index 99965574..8e2f2612 100644 --- a/test/units/filestream/filestream_test.cpp +++ b/test/units/filestream/filestream_test.cpp @@ -287,8 +287,8 @@ TEST_CASE("HiC: filestream read binary", "[hic][filestream][short]") { // np.float32, np.float64]: // print(t, np.frombuffer(open("data.zip", "rb").read()[10:18], dtype=t)[0]) - DISABLE_WARNING_PUSH - DISABLE_WARNING_USELESS_CAST + HICTK_DISABLE_WARNING_PUSH + HICTK_DISABLE_WARNING_USELESS_CAST SECTION("uint8") { CHECK(s.read() == std::uint8_t(162)); } SECTION("uint16") { CHECK(s.read() == std::uint16_t(42658)); } SECTION("uint32") { CHECK(s.read() == std::uint32_t(1433446050)); } @@ -304,7 +304,7 @@ TEST_CASE("HiC: filestream read binary", "[hic][filestream][short]") { SECTION("char") { CHECK(s.read() == static_cast(162)); } SECTION("unsigned char") { CHECK(s.read() == static_cast(162)); } - DISABLE_WARNING_POP + HICTK_DISABLE_WARNING_POP SECTION("vector") { s.seekg(0); @@ -370,8 +370,8 @@ TEST_CASE("HiC: filestream write binary", "[hic][filestream][short]") { std::filesystem::remove(tmpfile); auto s = FileStream::create(tmpfile.string()); - DISABLE_WARNING_PUSH - DISABLE_WARNING_USELESS_CAST + HICTK_DISABLE_WARNING_PUSH + HICTK_DISABLE_WARNING_USELESS_CAST SECTION("uint8") { write_and_compare(s, std::uint8_t(162)); } SECTION("uint16") { write_and_compare(s, std::uint16_t(42658)); } SECTION("uint32") { write_and_compare(s, std::uint32_t(1433446050)); } @@ -388,7 +388,7 @@ TEST_CASE("HiC: filestream write binary", "[hic][filestream][short]") { SECTION("bool") { write_and_compare(s, false); } SECTION("char") { write_and_compare(s, static_cast(162)); } SECTION("unsigned char") { write_and_compare(s, static_cast(162)); } - DISABLE_WARNING_POP + HICTK_DISABLE_WARNING_POP SECTION("vector") { std::vector data{