mirror of
https://github.com/boostorg/histogram.git
synced 2025-05-09 23:04:07 +00:00
Fix warnings in boost test matrix
* should fix warnings for gcc-6, clang-3.8 to 4.0, msvc-14.1 and 14.2 * should fix errors for clang-6 with cxxstd=17, clang-8 with cxxstd=2a
This commit is contained in:
parent
b12898a366
commit
307b65b7ab
@ -49,6 +49,7 @@ test_script:
|
||||
../../b2 $B2_OPTS toolset=gcc-9 cxxstd=latest examples test//all &&
|
||||
../../b2 $B2_OPTS toolset=clang cxxstd=latest variant=histogram_ubasan test//all
|
||||
|
||||
on_failure:
|
||||
# Uncomment the following line to stop VM and enable interactive login
|
||||
- ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
|
||||
## Uncomment the following to stop VM and enable interactive login.
|
||||
## Instructions how to log into the Appveyor VM are automatically printed.
|
||||
# on_failure:
|
||||
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
|
||||
|
@ -8,12 +8,12 @@
|
||||
#define BOOST_HISTOGRAM_DETAIL_ARGS_TYPE_HPP
|
||||
|
||||
#include <boost/config/workaround.hpp>
|
||||
#if BOOST_WORKAROUND(BOOST_GCC, >= 60000)
|
||||
#if BOOST_WORKAROUND(BOOST_GCC, >= 65000)
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wnoexcept-type"
|
||||
#endif
|
||||
#include <boost/callable_traits/args.hpp>
|
||||
#if BOOST_WORKAROUND(BOOST_GCC, >= 60000)
|
||||
#if BOOST_WORKAROUND(BOOST_GCC, >= 65000)
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
#include <boost/mp11/list.hpp> // mp_pop_front
|
||||
|
@ -19,7 +19,9 @@ using std::span;
|
||||
} // namespace histogram
|
||||
} // namespace boost
|
||||
|
||||
#else
|
||||
#else // C++17 span not available, so we use our implementation
|
||||
|
||||
// to be replaced by boost::span
|
||||
|
||||
#include <array>
|
||||
#include <boost/assert.hpp>
|
||||
@ -221,13 +223,13 @@ public:
|
||||
#endif
|
||||
|
||||
template <class T>
|
||||
span<T> make_span(T* begin, T* end) {
|
||||
return span<T>{begin, end};
|
||||
auto make_span(T* begin, T* end) {
|
||||
return dtl::span<T>{begin, end};
|
||||
}
|
||||
|
||||
template <class T>
|
||||
span<T> make_span(T* begin, std::size_t size) {
|
||||
return span<T>{begin, size};
|
||||
auto make_span(T* begin, std::size_t size) {
|
||||
return dtl::span<T>{begin, size};
|
||||
}
|
||||
|
||||
template <class Container, class = decltype(dtl::size(std::declval<Container>()),
|
||||
@ -237,8 +239,8 @@ auto make_span(const Container& cont) {
|
||||
}
|
||||
|
||||
template <class T, std::size_t N>
|
||||
span<T> make_span(T (&arr)[N]) {
|
||||
return span<T>(arr, N);
|
||||
auto make_span(T (&arr)[N]) {
|
||||
return dtl::span<T>(arr, N);
|
||||
}
|
||||
|
||||
} // namespace detail
|
||||
|
@ -12,8 +12,7 @@
|
||||
Forward declarations, tag types and type aliases.
|
||||
*/
|
||||
|
||||
#include <boost/config.hpp> // BOOST_ATTRIBUTE_NODISCARD
|
||||
#include <boost/config/workaround.hpp> // BOOST_WORKAROUND
|
||||
#include <boost/config.hpp> // BOOST_ATTRIBUTE_NODISCARD
|
||||
#include <boost/core/use_default.hpp>
|
||||
#include <vector>
|
||||
|
||||
@ -120,18 +119,19 @@ using weighted_profile_storage = dense_storage<accumulators::weighted_mean<>>;
|
||||
|
||||
#ifndef BOOST_HISTOGRAM_DOXYGEN_INVOKED
|
||||
|
||||
#if BOOST_WORKAROUND(BOOST_CLANG, >= 0)
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wc++17-extensions"
|
||||
// hot-fix until patch is accepted upstream in boost.config
|
||||
#ifdef __has_cpp_attribute
|
||||
#undef BOOST_ATTRIBUTE_NODISCARD
|
||||
#if __has_cpp_attribute(nodiscard) && !(defined(__clang__) && (__cplusplus < 201700))
|
||||
#define BOOST_ATTRIBUTE_NODISCARD [[nodiscard]]
|
||||
#else
|
||||
#define BOOST_ATTRIBUTE_NODISCARD
|
||||
#endif
|
||||
#endif
|
||||
|
||||
template <class Axes, class Storage = default_storage>
|
||||
class BOOST_ATTRIBUTE_NODISCARD histogram;
|
||||
|
||||
#if BOOST_WORKAROUND(BOOST_CLANG, >= 0)
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
|
||||
#endif
|
||||
} // namespace histogram
|
||||
} // namespace boost
|
||||
|
@ -45,7 +45,7 @@ private:
|
||||
BOOST_ATTRIBUTE_UNUSED inline void log_impl() {}
|
||||
|
||||
template <class T, class... Ts>
|
||||
inline void log_impl(T&& t, Ts&&... ts) {
|
||||
void log_impl(T&& t, Ts&&... ts) {
|
||||
std::cerr << t;
|
||||
log_impl(std::forward<Ts>(ts)...);
|
||||
}
|
||||
@ -81,18 +81,18 @@ struct tracing_allocator {
|
||||
} else
|
||||
db->log("allocator +", n, " ", boost::histogram::detail::type_name<T>());
|
||||
auto& p = db->at<T>();
|
||||
p.first += n;
|
||||
p.second += n;
|
||||
db->first += n * sizeof(T);
|
||||
db->second += n * sizeof(T);
|
||||
p.first += static_cast<int>(n);
|
||||
p.second += static_cast<int>(n);
|
||||
db->first += static_cast<int>(n * sizeof(T));
|
||||
db->second += static_cast<int>(n * sizeof(T));
|
||||
}
|
||||
return static_cast<T*>(::operator new(n * sizeof(T)));
|
||||
}
|
||||
|
||||
void deallocate(T* p, std::size_t n) {
|
||||
if (db) {
|
||||
db->at<T>().first -= n;
|
||||
db->first -= n * sizeof(T);
|
||||
db->at<T>().first -= static_cast<int>(n);
|
||||
db->first -= static_cast<int>(n * sizeof(T));
|
||||
db->log("allocator -", n, " ", boost::histogram::detail::type_name<T>());
|
||||
}
|
||||
::operator delete((void*)p);
|
||||
|
Loading…
x
Reference in New Issue
Block a user