diff --git a/Framework/API/inc/MantidAPI/IMaskWorkspace.h b/Framework/API/inc/MantidAPI/IMaskWorkspace.h index cd51c350aaf32b1e154f0c4223c362a707c31a88..b1a9dddd6d875252c4d60bef79b041b08760ce65 100644 --- a/Framework/API/inc/MantidAPI/IMaskWorkspace.h +++ b/Framework/API/inc/MantidAPI/IMaskWorkspace.h @@ -38,6 +38,7 @@ class DLLExport IMaskWorkspace { public: IMaskWorkspace() = default; IMaskWorkspace &operator=(const IMaskWorkspace &) = delete; + virtual ~IMaskWorkspace() = default; /// Return the workspace typeID virtual const std::string id() const { return "IMaskWorkspace"; } /// Total number of masked pixels diff --git a/Framework/Algorithms/src/PolarizationEfficiencyCor.cpp b/Framework/Algorithms/src/PolarizationEfficiencyCor.cpp index 553dcd3ab9573e8e92ee3d3fe285e4610c53fd5e..3d30c504028cb583c4f7931c3a8ce0314f6b688b 100644 --- a/Framework/Algorithms/src/PolarizationEfficiencyCor.cpp +++ b/Framework/Algorithms/src/PolarizationEfficiencyCor.cpp @@ -557,8 +557,8 @@ void PolarizationEfficiencyCor::checkConsistentX( const auto &P2x = efficiencies.P2->x(); checkX(P2x, "P2"); // A local helper function to check an input workspace against F1. - auto checkWS = [&F1x, &checkX](const API::MatrixWorkspace_sptr &ws, - const std::string &tag) { + auto checkWS = [&checkX](const API::MatrixWorkspace_sptr &ws, + const std::string &tag) { const auto nHist = ws->getNumberHistograms(); for (size_t i = 0; i != nHist; ++i) { checkX(ws->x(i), tag); diff --git a/Framework/Crystal/inc/MantidCrystal/FindSXPeaksHelper.h b/Framework/Crystal/inc/MantidCrystal/FindSXPeaksHelper.h index 83c03c8fc5f103a00c2cc49e1f142e3e52301e0f..e021920f5c8ee9f3d7f1af280ce54bbc7c6a566f 100644 --- a/Framework/Crystal/inc/MantidCrystal/FindSXPeaksHelper.h +++ b/Framework/Crystal/inc/MantidCrystal/FindSXPeaksHelper.h @@ -122,6 +122,7 @@ private: * ------------------------------------------------------------------------------------------ */ struct DLLExport BackgroundStrategy { + virtual ~BackgroundStrategy() = default; virtual bool isBelowBackground(const double intensity, const HistogramData::HistogramY &y) const = 0; }; @@ -155,6 +156,7 @@ public: const double minValue = EMPTY_DBL(), const double maxValue = EMPTY_DBL(), const XAxisUnit units = XAxisUnit::TOF); + virtual ~PeakFindingStrategy() = default; PeakList findSXPeaks(const HistogramData::HistogramX &x, const HistogramData::HistogramY &y, const int workspaceIndex) const; @@ -219,6 +221,7 @@ private: */ class DLLExport CompareStrategy { public: + virtual ~CompareStrategy() = default; virtual bool compare(const SXPeak &lhs, const SXPeak &rhs) const = 0; }; @@ -253,6 +256,7 @@ private: class DLLExport ReducePeakListStrategy { public: ReducePeakListStrategy(const CompareStrategy *compareStrategy); + virtual ~ReducePeakListStrategy() = default; virtual std::vector<SXPeak> reduce(const std::vector<SXPeak> &peaks, Mantid::Kernel::ProgressBase &progress) const = 0; diff --git a/Framework/CurveFitting/src/FuncMinimizers/FABADAMinimizer.cpp b/Framework/CurveFitting/src/FuncMinimizers/FABADAMinimizer.cpp index 98ecd9628f8812cfd0bac078b667474144a0a51f..fa2ce0ddb6a3ba13c5b128dc03133e80abf3c6ac 100644 --- a/Framework/CurveFitting/src/FuncMinimizers/FABADAMinimizer.cpp +++ b/Framework/CurveFitting/src/FuncMinimizers/FABADAMinimizer.cpp @@ -959,12 +959,12 @@ void FABADAMinimizer::calculateConvChainAndBestParameters( auto posBestPar = std::find(reducedChain[j].begin(), reducedChain[j].end(), bestParameters[j]); double varLeft = 0, varRight = 0; - for (auto k = reducedChain[j].begin(); k < reducedChain[j].end(); k++) { + for (auto k = reducedChain[j].begin(); k < reducedChain[j].end(); + k += 2) { if (k < posBestPar) varLeft += (*k - bestParameters[j]) * (*k - bestParameters[j]); else if (k > posBestPar) varRight += (*k - bestParameters[j]) * (*k - bestParameters[j]); - ++k; } if (posBestPar != reducedChain[j].begin()) varLeft /= double(posBestPar - reducedChain[j].begin()); diff --git a/Framework/Geometry/inc/MantidGeometry/Crystal/HKLGenerator.h b/Framework/Geometry/inc/MantidGeometry/Crystal/HKLGenerator.h index b20d11ccf2f0c219d02657d251d62098597c517a..b3467fdf70924cd0e3b8d1dd283e136899470d3a 100644 --- a/Framework/Geometry/inc/MantidGeometry/Crystal/HKLGenerator.h +++ b/Framework/Geometry/inc/MantidGeometry/Crystal/HKLGenerator.h @@ -143,7 +143,7 @@ public: int m_h, m_k, m_l; Kernel::V3D m_hkl; - int m_hMin, m_hMax; + int m_hMax; int m_kMin, m_kMax; int m_lMin, m_lMax; }; diff --git a/Framework/Geometry/inc/MantidGeometry/Objects/IObject.h b/Framework/Geometry/inc/MantidGeometry/Objects/IObject.h index 24331e8075214d30793df52b286bdd80b10077c7..6b186d0b7acc8e6379a8d936f1f30ea57d24c521 100644 --- a/Framework/Geometry/inc/MantidGeometry/Objects/IObject.h +++ b/Framework/Geometry/inc/MantidGeometry/Objects/IObject.h @@ -54,6 +54,7 @@ class vtkGeometryCacheWriter; */ class MANTID_GEOMETRY_DLL IObject { public: + virtual ~IObject() = default; virtual bool isValid(const Kernel::V3D &) const = 0; virtual bool isOnSide(const Kernel::V3D &) const = 0; virtual int calcValidType(const Kernel::V3D &Pt, diff --git a/Framework/Geometry/src/Crystal/HKLGenerator.cpp b/Framework/Geometry/src/Crystal/HKLGenerator.cpp index 9d56c3a2f5dd5fcc96326c4b51852362a6558c03..0979b69dff53f69745f4d2e8b991c44f9d89e1da 100644 --- a/Framework/Geometry/src/Crystal/HKLGenerator.cpp +++ b/Framework/Geometry/src/Crystal/HKLGenerator.cpp @@ -62,20 +62,20 @@ V3D HKLGenerator::getEndHKL() const { /// Default constructor, requirement from boost::iterator_facade HKLGenerator::const_iterator::const_iterator() - : m_h(0), m_k(0), m_l(0), m_hkl(V3D(0, 0, 0)), m_hMin(0), m_hMax(0), - m_kMin(0), m_kMax(0), m_lMin(0), m_lMax(0) {} + : m_h(0), m_k(0), m_l(0), m_hkl(V3D(0, 0, 0)), m_hMax(0), m_kMin(0), + m_kMax(0), m_lMin(0), m_lMax(0) {} /// Return an iterator with min = max = current. HKLGenerator::const_iterator::const_iterator(const V3D ¤t) : m_h(static_cast<int>(current.X())), m_k(static_cast<int>(current.Y())), - m_l(static_cast<int>(current.Z())), m_hkl(current), m_hMin(m_h), - m_hMax(m_h), m_kMin(m_k), m_kMax(m_k), m_lMin(m_l), m_lMax(m_l) {} + m_l(static_cast<int>(current.Z())), m_hkl(current), m_hMax(m_h), + m_kMin(m_k), m_kMax(m_k), m_lMin(m_l), m_lMax(m_l) {} /// Return an iterator that can move from min to max, with current = min HKLGenerator::const_iterator::const_iterator(const V3D &hklMin, const V3D &hklMax) : m_h(static_cast<int>(hklMin.X())), m_k(static_cast<int>(hklMin.Y())), - m_l(static_cast<int>(hklMin.Z())), m_hkl(hklMin), m_hMin(m_h), + m_l(static_cast<int>(hklMin.Z())), m_hkl(hklMin), m_hMax(static_cast<int>(hklMax.X())), m_kMin(m_k), m_kMax(static_cast<int>(hklMax.Y())), m_lMin(m_l), m_lMax(static_cast<int>(hklMax.Z())) {} diff --git a/Framework/Geometry/src/Math/BnId.cpp b/Framework/Geometry/src/Math/BnId.cpp index 84088af001457c25bc1c922dd3fadc196f625473..7fb6b3b33b71c44e6f387d007b68c7d3c2680c84 100644 --- a/Framework/Geometry/src/Math/BnId.cpp +++ b/Framework/Geometry/src/Math/BnId.cpp @@ -110,8 +110,6 @@ int BnId::operator<(const BnId &A) const { if (A.size != size) return size < A.size; - std::pair<int, int> cntA(0, 0); // count for A - std::pair<int, int> cntT(0, 0); // count for this if (Znum != A.Znum) return (Znum < A.Znum) ? 1 : 0; @@ -282,8 +280,6 @@ std::pair<int, BnId> BnId::makeCombination(const BnId &A) const return std::pair<int, BnId>(0, BnId()); int flag(0); // numb of diff - std::pair<int, int> Tcnt(0, 0); // this counter - std::pair<int, int> Acnt(0, 0); // A counter auto avc = A.Tval.cbegin(); std::vector<int>::const_iterator chpt; // change point for (auto tvc = Tval.cbegin(); tvc != Tval.cend(); ++tvc, ++avc) { diff --git a/Framework/Kernel/src/MaterialXMLParser.cpp b/Framework/Kernel/src/MaterialXMLParser.cpp index 1e110f55d4e2f82abe2fd90c8dbffb495f2e697e..514254387319e608f2d26e63ce0592a475fd8567 100644 --- a/Framework/Kernel/src/MaterialXMLParser.cpp +++ b/Framework/Kernel/src/MaterialXMLParser.cpp @@ -51,6 +51,7 @@ const char *ABSORB_ATT = "absorptionxsec"; // Base type to put in a hash struct BuilderHandle { + virtual ~BuilderHandle() = default; virtual void operator()(MaterialBuilder &builder, const std::string &value) const = 0; }; diff --git a/Framework/LiveData/inc/MantidLiveData/Kafka/IKafkaBroker.h b/Framework/LiveData/inc/MantidLiveData/Kafka/IKafkaBroker.h index 0b83329afb84bfc383025bc1df4b4ac6646e3359..6104a95cd4860d77c0d21165cca146242ce0d243 100644 --- a/Framework/LiveData/inc/MantidLiveData/Kafka/IKafkaBroker.h +++ b/Framework/LiveData/inc/MantidLiveData/Kafka/IKafkaBroker.h @@ -35,7 +35,7 @@ namespace LiveData { */ class DLLExport IKafkaBroker { public: - ~IKafkaBroker() = default; + virtual ~IKafkaBroker() = default; virtual std::unique_ptr<IKafkaStreamSubscriber> subscribe(std::vector<std::string> topics, diff --git a/Framework/Parallel/inc/MantidParallel/Status.h b/Framework/Parallel/inc/MantidParallel/Status.h index adbb5c852be0efdad89126aa8943569e548b364d..965a117cf8c7c473525decf0a28746ae03a45984 100644 --- a/Framework/Parallel/inc/MantidParallel/Status.h +++ b/Framework/Parallel/inc/MantidParallel/Status.h @@ -44,7 +44,8 @@ class ThreadingBackend; class MANTID_PARALLEL_DLL Status { public: #ifdef MPI_EXPERIMENTAL - Status(const boost::mpi::status &status) : m_status(status) {} + Status(const boost::mpi::status &status) + : m_status(status), m_threadingBackend{false} {} #endif template <typename T> boost::optional<int> count() const { @@ -56,12 +57,14 @@ public: } private: - Status(const size_t size) : m_size(size), m_threadingBackend(true) {} + Status(const size_t size) : m_size(size) {} #ifdef MPI_EXPERIMENTAL boost::mpi::status m_status; #endif const size_t m_size{0}; - const bool m_threadingBackend{false}; +#ifdef MPI_EXPERIMENTAL + bool m_threadingBackend{true}; +#endif // For accessing constructor based on size. friend class detail::ThreadingBackend; }; diff --git a/Framework/Parallel/test/EventParserTest.h b/Framework/Parallel/test/EventParserTest.h index 0dce40044bdbb7e1165d6dc4fc4fdc58fb0154d8..2de672e236ad0e241279aaadd0646c84e86630c5 100644 --- a/Framework/Parallel/test/EventParserTest.h +++ b/Framework/Parallel/test/EventParserTest.h @@ -97,7 +97,7 @@ private: static_cast<IndexType>(m_bank_offsets[bank] + absolutePixel)); std::transform(list.cbegin() + prev_end, list.cend(), std::back_inserter(m_event_time_offsets[bank]), - [this](const TofEvent &event) { + [](const TofEvent &event) { return static_cast<TimeOffsetType>(event.tof()); }); } diff --git a/Framework/PythonInterface/mantid/kernel/src/Converters/CloneToNumpy.cpp b/Framework/PythonInterface/mantid/kernel/src/Converters/CloneToNumpy.cpp index bf501e26a4bc419856aa96a90cc9b3b9c9969542..fb49c9d5934b2a8727b8d2addf5bf723083511d0 100644 --- a/Framework/PythonInterface/mantid/kernel/src/Converters/CloneToNumpy.cpp +++ b/Framework/PythonInterface/mantid/kernel/src/Converters/CloneToNumpy.cpp @@ -22,6 +22,7 @@ extern template int NDArrayTypeIndex<unsigned long>::typenum; extern template int NDArrayTypeIndex<unsigned long long>::typenum; extern template int NDArrayTypeIndex<float>::typenum; extern template int NDArrayTypeIndex<double>::typenum; +extern template int NDArrayTypeIndex<Mantid::Types::Core::DateAndTime>::typenum; namespace Impl { /** diff --git a/Framework/PythonInterface/mantid/kernel/src/Converters/DateAndTime.cpp b/Framework/PythonInterface/mantid/kernel/src/Converters/DateAndTime.cpp index 17e46c70885598abac82d7128e2787accf168869..539d41c26a28fd1f1c791fb2a19bf2fa4eb9cfc3 100644 --- a/Framework/PythonInterface/mantid/kernel/src/Converters/DateAndTime.cpp +++ b/Framework/PythonInterface/mantid/kernel/src/Converters/DateAndTime.cpp @@ -42,7 +42,14 @@ PyArray_Descr *descr_ns() { return func_PyArray_Descr("M8[ns]"); } // internal function that handles raw pointer boost::shared_ptr<Types::Core::DateAndTime> to_dateandtime(const PyObject *datetime) { +#if __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wcast-qual" +#endif if (!PyArray_IsScalar(datetime, Datetime)) { +#if __clang__ +#pragma clang diagnostic pop +#endif throw std::runtime_error("Expected datetime64"); } diff --git a/Framework/PythonInterface/mantid/kernel/src/Converters/NDArrayToVector.cpp b/Framework/PythonInterface/mantid/kernel/src/Converters/NDArrayToVector.cpp index 94668f5a1d3fd66fc43bc29e7028c12a7f9e7fd5..93f0a100d4cfd3b1c7a992a5a18d46daed55f614 100644 --- a/Framework/PythonInterface/mantid/kernel/src/Converters/NDArrayToVector.cpp +++ b/Framework/PythonInterface/mantid/kernel/src/Converters/NDArrayToVector.cpp @@ -27,6 +27,14 @@ extern template int NDArrayTypeIndex<unsigned long>::typenum; extern template int NDArrayTypeIndex<unsigned long long>::typenum; extern template int NDArrayTypeIndex<float>::typenum; extern template int NDArrayTypeIndex<double>::typenum; +extern template int NDArrayTypeIndex<bool>::typecode; +extern template int NDArrayTypeIndex<int>::typecode; +extern template int NDArrayTypeIndex<long>::typecode; +extern template int NDArrayTypeIndex<long long>::typecode; +extern template int NDArrayTypeIndex<unsigned int>::typecode; +extern template int NDArrayTypeIndex<unsigned long>::typecode; +extern template int NDArrayTypeIndex<unsigned long long>::typecode; +extern template int NDArrayTypeIndex<double>::typecode; } namespace { diff --git a/MantidPlot/src/lib/3rdparty/qtcolorpicker/src/qtcolorpicker.cpp b/MantidPlot/src/lib/3rdparty/qtcolorpicker/src/qtcolorpicker.cpp index 0ebcec2d711dec5d5a9bbae28cbd21f06be1a59b..c599b26d407bc9ebab0f423874f9454a244ce0e1 100644 --- a/MantidPlot/src/lib/3rdparty/qtcolorpicker/src/qtcolorpicker.cpp +++ b/MantidPlot/src/lib/3rdparty/qtcolorpicker/src/qtcolorpicker.cpp @@ -605,10 +605,7 @@ void ColorPickerPopup::insertColor(const QColor &col, const QString &text, QColor ColorPickerPopup::color(int index) const { if (index < 0 || index > (int)items.count() - 1) return QColor(); - - // cppcheck-suppress cstyleCast - ColorPickerPopup *that = (ColorPickerPopup *)this; - return that->items.at(index)->color(); + return this->items.at(index)->color(); } /*! \internal diff --git a/qt/scientific_interfaces/EnggDiffraction/IEnggDiffMultiRunFittingWidgetAdder.h b/qt/scientific_interfaces/EnggDiffraction/IEnggDiffMultiRunFittingWidgetAdder.h index 55657b8990bab2bad883577516a9408d06a0170c..03c3c3e8e2024dff5cac1b3f5f644abd0d214e98 100644 --- a/qt/scientific_interfaces/EnggDiffraction/IEnggDiffMultiRunFittingWidgetAdder.h +++ b/qt/scientific_interfaces/EnggDiffraction/IEnggDiffMultiRunFittingWidgetAdder.h @@ -9,6 +9,7 @@ namespace CustomInterfaces { class IEnggDiffMultiRunFittingWidgetAdder { public: + virtual ~IEnggDiffMultiRunFittingWidgetAdder() = default; virtual void operator()(IEnggDiffMultiRunFittingWidgetOwner &owner) = 0; };