From 2231261937c28ce5b2954fce8658df02d10f3c2b Mon Sep 17 00:00:00 2001 From: Achim Gsell <achim.gsell@psi.ch> Date: Sat, 4 May 2024 09:40:30 +0200 Subject: [PATCH] fixes for macOS 14.4 and Clang 15 --- CMakeLists.txt | 3 +++ optimizer/Expression/Parser/ast.hpp | 4 ++-- src/Classic/AbsBeamline/Component.h | 2 +- src/Classic/AbsBeamline/OutputPlane.h | 12 +++++------ .../AbsBeamline/OutputPlaneTest.cpp | 20 +++++++++---------- .../AbsBeamline/ScalingFFAMagnetTest.cpp | 2 +- 6 files changed, 23 insertions(+), 20 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b3deadaaf..abeb99cbd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -99,6 +99,9 @@ elseif (${CMAKE_CXX_COMPILER_ID} MATCHES "Clang") # is using this visibility setting. add_compile_options (-fvisibility=hidden) add_compile_options (-fvisibility-inlines-hidden) + add_compile_options (-Wno-deprecated-declarations) + add_compile_options (-Wno-deprecated-builtins) + add_compile_options (-Wno-deprecated-copy) if (ENABLE_OpenMP) if (CMAKE_HOST_APPLE) message(FATAL_ERROR "Apple Clang does not support OpenMP!") diff --git a/optimizer/Expression/Parser/ast.hpp b/optimizer/Expression/Parser/ast.hpp index d7b9d7c78..0e6198874 100644 --- a/optimizer/Expression/Parser/ast.hpp +++ b/optimizer/Expression/Parser/ast.hpp @@ -100,13 +100,13 @@ namespace client { namespace ast operand first; std::list<operation> rest; }; - +#if 0 // print functions for debugging inline std::ostream& operator<<(std::ostream& out, nil) { out << "nil"; return out; } - +#endif inline std::ostream& operator<<(std::ostream& out, identifier const& id) { out << id.name; return out; diff --git a/src/Classic/AbsBeamline/Component.h b/src/Classic/AbsBeamline/Component.h index c70d0a42e..9126f0ba8 100644 --- a/src/Classic/AbsBeamline/Component.h +++ b/src/Classic/AbsBeamline/Component.h @@ -159,7 +159,7 @@ public: virtual void getDimensions(double &zBegin, double &zEnd) const = 0; - virtual ElementType getType() const; + virtual ElementType getType() const override; /// Return design element. // If this method returns a pointer to this component. diff --git a/src/Classic/AbsBeamline/OutputPlane.h b/src/Classic/AbsBeamline/OutputPlane.h index 28bc5a87d..8b78a2519 100644 --- a/src/Classic/AbsBeamline/OutputPlane.h +++ b/src/Classic/AbsBeamline/OutputPlane.h @@ -185,14 +185,14 @@ public: double& t, Vector_t& R, Vector_t& P); /** Returns empty field */ - NullField& getField() {return nullfield_m;} + NullField& getField() override {return nullfield_m;} /** Returns empty field */ - const NullField& getField() const {return nullfield_m;} + const NullField& getField() const override {return nullfield_m;} /** Returns empty geometry */ - StraightGeometry& getGeometry() {return geom_m;} + StraightGeometry& getGeometry() override {return geom_m;} /** Returns empty geometry */ - const StraightGeometry& getGeometry() const {return geom_m;} + const StraightGeometry& getGeometry() const override {return geom_m;} /** Make an RK4Step * @li tstep: time step [s] * @li chargeToMass: chargeToMass ratio [m^2/s^2/GV] @@ -209,13 +209,13 @@ public: void operator=(const OutputPlane&) = delete; //ElementBase::ElementType getType() const; - ElementType getType() const; + ElementType getType() const override; void recentre(Vector_t R, Vector_t P); private: /// Initialise peakfinder file - virtual void doInitialise(PartBunchBase<double, 3>* /*bunch*/); + virtual void doInitialise(PartBunchBase<double, 3>* /*bunch*/) override; /// Record probe hits when bunch particles pass inline bool doPreCheck(PartBunchBase<double, 3> *bunch) override; diff --git a/tests/classic_src/AbsBeamline/OutputPlaneTest.cpp b/tests/classic_src/AbsBeamline/OutputPlaneTest.cpp index a0a6b80e3..ffce876db 100644 --- a/tests/classic_src/AbsBeamline/OutputPlaneTest.cpp +++ b/tests/classic_src/AbsBeamline/OutputPlaneTest.cpp @@ -27,16 +27,16 @@ class MockDipole : public Component { public: MockDipole(const std::string /*&name*/) : bfield_m(0, 1, 0), efield_m() {} - NullField &getField() {return nullfield_m;} - const NullField &getField() const {return nullfield_m;} - void accept(BeamlineVisitor& /*&visitor*/) const {} - void initialise(PartBunchBase<double, 3>* /*bunch*/, double& /*start*/, double& /*end*/) {} - void finalise() {} - bool bends() const {return true;} - void getDimensions(double& /*zBegin*/, double& /*zEnd*/) const {} - StraightGeometry& getGeometry() {return geom_m;} - const StraightGeometry& getGeometry() const {return geom_m;} - ElementBase* clone() const {return NULL;} + NullField &getField() override {return nullfield_m;} + const NullField &getField() const override {return nullfield_m;} + void accept(BeamlineVisitor& /*&visitor*/) const override {} + void initialise(PartBunchBase<double, 3>* /*bunch*/, double& /*start*/, double& /*end*/) override {} + void finalise() override {} + bool bends() const override {return true;} + void getDimensions(double& /*zBegin*/, double& /*zEnd*/) const override {} + StraightGeometry& getGeometry() override {return geom_m;} + const StraightGeometry& getGeometry() const override {return geom_m;} + ElementBase* clone() const override {return NULL;} void setField(Vector_t bfield, Vector_t efield) {bfield_m = bfield; efield_m = efield;} diff --git a/tests/classic_src/AbsBeamline/ScalingFFAMagnetTest.cpp b/tests/classic_src/AbsBeamline/ScalingFFAMagnetTest.cpp index 8b07e5808..74f3155e1 100644 --- a/tests/classic_src/AbsBeamline/ScalingFFAMagnetTest.cpp +++ b/tests/classic_src/AbsBeamline/ScalingFFAMagnetTest.cpp @@ -67,7 +67,7 @@ public: Vector_t getB(Vector_t pos) { Vector_t mom, B, E; - double t; + double t = 0.0; sector_m->apply(pos, mom, t, E, B); return B; } -- GitLab