diff --git a/CMakeLists.txt b/CMakeLists.txt
index eae27977230071b3ab7006d1007ed6a498da1aae..42a40258cbb9b2e4cbed45f0255f9ec645f15e06 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -44,12 +44,17 @@ set (CMAKE_CXX_EXTENSIONS OFF)
 add_definitions (-DNOCTAssert)
 
 add_compile_options (-Wall)
-add_compile_options (-funroll-loops -fstrict-aliasing)
+add_compile_options (-Wunused)
+add_compile_options (-Wextra)
+#add_compile_options (-Werror)
+
+add_compile_options (-funroll-loops)
+add_compile_options (-fstrict-aliasing)
 
 option (USE_STATIC_LIBRARIES "Link with static libraries if available" ON)
 if (NOT ${USE_STATIC_LIBRARIES})
     add_compile_options (-fPIE -fPIC)
-    set (CMAKE_EXE_LINKER_FLAGS  "${CMAKE_EXE_LINKER_FLAGS} -pie")
+    add_link_options (-pie)
 endif ()
 
 # compiler dependent flags
@@ -62,7 +67,6 @@ if ( ${CMAKE_CXX_COMPILER_ID} STREQUAL "Intel" )
     endif ()
 
 elseif (${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
-    add_compile_options (-Werror)
     add_compile_options (-Wsign-compare)
     add_compile_options (-Wunused-variable)
     add_compile_options (-Warray-bounds)
diff --git a/CMakeModules/FindH5Hut.cmake b/CMakeModules/FindH5Hut.cmake
index 9723591f5c26dc818cbc4f5950da6f249cf2d662..76251b44cfb8d63b858d852e869d6ea6a0757d58 100644
--- a/CMakeModules/FindH5Hut.cmake
+++ b/CMakeModules/FindH5Hut.cmake
@@ -48,4 +48,5 @@ ENDIF (HAVE_API2_FUNCTIONS)
 # mode:cmake
 # cmake-tab-width: 4
 # indent-tabs-mode:nil
+# require-final-newline: nil
 # End:
diff --git a/src/AbstractObjects/Object.cpp b/src/AbstractObjects/Object.cpp
index 8d271b81eea5dc57f26c6541a4d7d9ed30afb03e..b0f468fcc364518dfe18723d3dc6e96ffaf258b4 100644
--- a/src/AbstractObjects/Object.cpp
+++ b/src/AbstractObjects/Object.cpp
@@ -91,7 +91,7 @@ Object *Object::makeTemplate
 }
 
 
-Object *Object::makeInstance(const string &name, Statement &, const Parser *) {
+Object *Object::makeInstance(const string &/*name*/, Statement &, const Parser *) {
     throw ParseError("Object::makeInstance()", "Object \"" + getOpalName() +
                      "\" cannot be called as a macro.");
 }
diff --git a/src/AbstractObjects/Table.cpp b/src/AbstractObjects/Table.cpp
index 9f119b94aab03a38ba37ea5998aadb9bdb09adad..33877e8661ec2ce99725953313e1b94cb6c6d3bb 100644
--- a/src/AbstractObjects/Table.cpp
+++ b/src/AbstractObjects/Table.cpp
@@ -33,7 +33,7 @@ Table::~Table() {
 }
 
 
-bool Table::canReplaceBy(Object *newObject) {
+bool Table::canReplaceBy(Object */*newObject*/) {
     return false;
 }
 
diff --git a/src/Algorithms/CavityAutophaser.cpp b/src/Algorithms/CavityAutophaser.cpp
index 844c07e8f23ab5d659aa88184a581b1b110565c7..982eebb289da52b7768e82da69ea64dcad6f019d 100644
--- a/src/Algorithms/CavityAutophaser.cpp
+++ b/src/Algorithms/CavityAutophaser.cpp
@@ -261,8 +261,8 @@ std::pair<double, double> CavityAutophaser::optimizeCavityPhase(double initialPh
     return status;
 }
 
-double CavityAutophaser::track(Vector_t R,
-                               Vector_t P,
+double CavityAutophaser::track(Vector_t /*R*/,
+                               Vector_t /*P*/,
                                double t,
                                const double dt,
                                const double phase,
diff --git a/src/Algorithms/Ctunes.cpp b/src/Algorithms/Ctunes.cpp
index 96b12176d5895998ab92c1963b5fd18762da5cca..5d0bd331aa14a1b61b68972da79d2f316346cbf0 100644
--- a/src/Algorithms/Ctunes.cpp
+++ b/src/Algorithms/Ctunes.cpp
@@ -44,7 +44,7 @@ TUNE_class::~TUNE_class(void)
 
 }
 
-int TUNE_class::lombAnalysis(std::vector<double> &x, std::vector<double> &y, int nhis, double Norm)
+int TUNE_class::lombAnalysis(std::vector<double> &x, std::vector<double> &y, int /*nhis*/, double Norm)
 /*-----------------------------------------------------------------------------
  *  Launch Lomb analysis and plot results
  *  =======================================
@@ -143,7 +143,7 @@ int TUNE_class::lombAnalysis(std::vector<double> &x, std::vector<double> &y, int
 }
 
 
-int TUNE_class::lombAnalysis(double *x, double *y, int Ndat, int nhis)
+int TUNE_class::lombAnalysis(double *x, double *y, int Ndat, int /*nhis*/)
 /*-----------------------------------------------------------------------------
  *  Launch Lomb analysis and plot results
  *  =======================================
diff --git a/src/Algorithms/Hamiltonian.cpp b/src/Algorithms/Hamiltonian.cpp
index 1f57d86630ec03c01a0cd4ad8f9f29083f14e866..c4fe631994794722dee845695ea7782c45f9c666 100644
--- a/src/Algorithms/Hamiltonian.cpp
+++ b/src/Algorithms/Hamiltonian.cpp
@@ -27,7 +27,7 @@ Hamiltonian::series_t Hamiltonian::drift(const double& gamma0)
 
 Hamiltonian::series_t Hamiltonian::rbend(double& beta0,
                             double& gamma0,
-                            double& q,
+                            double& /*q*/,
                             double& h,
                             double& k0)
 {
@@ -77,8 +77,8 @@ Hamiltonian::series_t Hamiltonian::sbend(const double& gamma0,
 Hamiltonian::series_t Hamiltonian::bendFringe(
                 double& beta0,
                 double& gamma0,
-                double& h,
-                double& k0,
+                double& /*h*/,
+                double& /*k0*/,
                 series_t& ax,
                 series_t& az)
 {
@@ -114,7 +114,7 @@ Hamiltonian::series_t Hamiltonian::bendFringe(
 
 
 Hamiltonian::series_t Hamiltonian::quadrupole(const double& gamma0,
-                                              const double& q,
+                                              const double& /*q*/,
                                               const double& k1)
 {
     double beta0 = this->getBeta_m(gamma0);
diff --git a/src/Algorithms/LieMapper.cpp b/src/Algorithms/LieMapper.cpp
index 935616649be7e8376f665595178d17b6b8b098af..551931dd61aae7b81499299c0821332932a2444d 100644
--- a/src/Algorithms/LieMapper.cpp
+++ b/src/Algorithms/LieMapper.cpp
@@ -103,11 +103,11 @@ void LieMapper::setMap(const DragtFinnMap<3> &map) {
 }
 
 
-void LieMapper::visitBeamBeam(const BeamBeam &map) {
+void LieMapper::visitBeamBeam(const BeamBeam &/*map*/) {
     // *** MISSING *** Map for beam-beam.
 }
 
-void LieMapper::visitBeamStripping(const BeamStripping &map) {
+void LieMapper::visitBeamStripping(const BeamStripping &/*map*/) {
     // *** MISSING *** Map for beam stripping.
 }
 
@@ -116,7 +116,7 @@ void LieMapper::visitCCollimator(const CCollimator &coll) {
 }
 
 
-void LieMapper::visitComponent(const Component &comp) {
+void LieMapper::visitComponent(const Component &/*comp*/) {
     // *** MISSING *** Map for arbitrary component.
 }
 
@@ -170,7 +170,7 @@ void LieMapper::visitLambertson(const Lambertson &lamb) {
 }
 
 
-void LieMapper::visitMarker(const Marker &marker) {
+void LieMapper::visitMarker(const Marker &/*marker*/) {
     // Do nothing.
 }
 
@@ -222,7 +222,7 @@ void LieMapper::visitPatch(const Patch &patch) {
     applyTransform(patch.getPatch());
 }
 
-void LieMapper::visitProbe(const Probe &prob) {
+void LieMapper::visitProbe(const Probe &/*prob*/) {
     // Do nothing.
 }
 
@@ -298,7 +298,7 @@ void LieMapper::visitRBend(const RBend &bend) {
 }
 
 
-void LieMapper::visitParallelPlate(const ParallelPlate &pplate) {
+void LieMapper::visitParallelPlate(const ParallelPlate &/*pplate*/) {
     // Do nothing.
 }
 
@@ -456,9 +456,9 @@ void LieMapper::applyDrift(double length)
 }
 
 
-void LieMapper::applyEntranceFringe(double angle, double curve,
-                                    const BMultipoleField &field,
-                                    double scale) {
+void LieMapper::applyEntranceFringe(double /*angle*/, double /*curve*/,
+                                    const BMultipoleField &/*field*/,
+                                    double /*scale*/) {
     // *** MISSING *** map terms for entrance fringe.
     //  double hx = scale * field.normal(1);
     //  double ex = hx * tan(angle);
@@ -466,9 +466,9 @@ void LieMapper::applyEntranceFringe(double angle, double curve,
 }
 
 
-void LieMapper::applyExitFringe(double angle, double curve,
-                                const BMultipoleField &field,
-                                double scale) {
+void LieMapper::applyExitFringe(double /*angle*/, double /*curve*/,
+                                const BMultipoleField &/*field*/,
+                                double /*scale*/) {
     // *** MISSING *** map terms for exit fringe.
     //  double hx = scale * field.normal(1);
     //  double ex = hx * tan(angle);
@@ -476,7 +476,7 @@ void LieMapper::applyExitFringe(double angle, double curve,
 }
 
 
-void LieMapper::applyTransform(const Euclid3D &euclid, double refLength) {
+void LieMapper::applyTransform(const Euclid3D &euclid, double /*refLength*/) {
     if(! euclid.isIdentity()) {
         // build rotation matrix and compute additional drift length.
         double s2 = (euclid.M(0, 2) * euclid.getX() +
diff --git a/src/Algorithms/MapAnalyser.cpp b/src/Algorithms/MapAnalyser.cpp
index 61c2411aabdfaae8345d2567e38c94f6d7451c05..24dfcad3aef8f20d2fbab09bc0cf8d9ff752e0af 100644
--- a/src/Algorithms/MapAnalyser.cpp
+++ b/src/Algorithms/MapAnalyser.cpp
@@ -134,6 +134,7 @@ void MapAnalyser::linTAnalyze(const fMatrix_t& tMatrix){
         }
     }
 
+    // :FIXME: why commented out? To be removed?
     cfMatrix_t tempM = eigenVecM ;
     //cfMatrix_t tempInvM = eigenVecM ;
     cfMatrix_t tempValM = eigenValM ;
@@ -151,16 +152,10 @@ void MapAnalyser::linTAnalyze(const fMatrix_t& tMatrix){
     invEigenVecM= invertMatrix_m(eigenVecM);
     cfMatrix_t cblocktMatrix = getBlockDiagonal_m(tMatrix, eigenVecM, invEigenVecM);
 
-
-
-    for (int i=0; i<6; i++){
-
-    }
-
     FVector<std::complex<double>, 3> betaTunes, betaTunes2;
     FVector<double, 3> betaTunes3;
 
-
+    // :FIXME: why commented out
     //rearrangeEigen(eigenValM, eigenVecM);
 
     for (int i = 0; i < 3; i++){
@@ -185,6 +180,7 @@ void MapAnalyser::linTAnalyze(const fMatrix_t& tMatrix){
 
         IpplTimings::stopTimer(mapAnalysis_m);
         //TODO: do something with the tunes etc
+        //:FIXME: are there some plans what to do?
     }
 
 }
@@ -515,10 +511,10 @@ MapAnalyser::cfMatrix_t MapAnalyser::invertMatrix_m(const cfMatrix_t& M){
 
 }
 
-
+#if 0
 //TODO Work in progress
 void MapAnalyser::rearrangeEigen_m(cfMatrix_t& eigenVal, cfMatrix_t& EigenVec){
-/*#ifdef PHIL_WRITE
+#ifdef PHIL_WRITE
     std::ofstream out;
     out.open("OUT.txt", std::ios::app);
 #endif
@@ -559,6 +555,6 @@ void MapAnalyser::rearrangeEigen_m(cfMatrix_t& eigenVal, cfMatrix_t& EigenVec){
             }
 
          }
-
-    }*/
+    }
 }
+#endif
diff --git a/src/Algorithms/OrbitThreader.cpp b/src/Algorithms/OrbitThreader.cpp
index fcc672913610d412a5015f6aebe57bceb5368dc9..a6507430dd856189d2be44557bacc398c855efa0 100644
--- a/src/Algorithms/OrbitThreader.cpp
+++ b/src/Algorithms/OrbitThreader.cpp
@@ -142,7 +142,7 @@ void OrbitThreader::execute() {
     processElementRegister();
 }
 
-void OrbitThreader::integrate(const IndexMap::value_t &activeSet, size_t maxSteps, double maxDrift) {
+void OrbitThreader::integrate(const IndexMap::value_t &activeSet, size_t /*maxSteps*/, double maxDrift) {
     static size_t step = 0;
     CoordinateSystemTrafo labToBeamline = itsOpalBeamline_m.getCSTrafoLab2Local();
     const double oldPathLength = pathLength_m;
diff --git a/src/Algorithms/ParallelCyclotronTracker.cpp b/src/Algorithms/ParallelCyclotronTracker.cpp
index d5779cbb437879678356c4bab1b256cba13b1302..d118dded098ac64e477738985b2e9b10593a7bf7 100644
--- a/src/Algorithms/ParallelCyclotronTracker.cpp
+++ b/src/Algorithms/ParallelCyclotronTracker.cpp
@@ -1085,12 +1085,8 @@ void ParallelCyclotronTracker::visitSolenoid(const Solenoid &solenoid) {
  *
  * @param pplate
  */
-void ParallelCyclotronTracker::visitParallelPlate(const ParallelPlate &pplate) {//do nothing
-
-    //*gmsg << "ParallelPlate: not in use in ParallelCyclotronTracker!" << endl;
-
-    //buildupFieldList(startField, endField, elptr);
-
+void ParallelCyclotronTracker::visitParallelPlate(const ParallelPlate &/*pplate*/) {
+    //do nothing
 }
 
 /**
@@ -1607,7 +1603,7 @@ struct adder : public std::unary_function<double, void> {
  * @return
  */
 bool ParallelCyclotronTracker::getTunes(dvector_t &t, dvector_t &r, dvector_t &z,
-                                        int lastTurn, double &nur, double &nuz) {
+                                        int lastTurn, double &/*nur*/, double &/*nuz*/) {
     TUNE_class *tune;
 
     int Ndat = t.size();
@@ -3053,7 +3049,7 @@ void ParallelCyclotronTracker::finalizeTracking_m(dvector_t& Ttime,
 }
 
 
-void ParallelCyclotronTracker::seoMode_m(double& t, const double dt, bool& finishedTurn,
+void ParallelCyclotronTracker::seoMode_m(double& t, const double dt, bool& /*finishedTurn*/,
                                          dvector_t& Ttime, dvector_t& Tdeltr,
                                          dvector_t& Tdeltz, ivector_t& TturnNumber)
 {
diff --git a/src/Algorithms/ParallelSliceTracker.cpp b/src/Algorithms/ParallelSliceTracker.cpp
index aa3779f081f692c18f6056ffca145671974eff62..d1e547f02692e57967b6415c276ecae6b1f2ad25 100644
--- a/src/Algorithms/ParallelSliceTracker.cpp
+++ b/src/Algorithms/ParallelSliceTracker.cpp
@@ -170,16 +170,6 @@ void ParallelSliceTracker::printRFPhases() {
         << endl;
 }
 
-void ParallelSliceTracker::applyEntranceFringe(double angle, double curve,
-        const BMultipoleField &field, double scale) {
-}
-
-
-void ParallelSliceTracker::applyExitFringe(double angle, double curve,
-        const BMultipoleField &field, double scale) {
-}
-
-
 void ParallelSliceTracker::execute() {
 
     Inform msg("ParallelSliceTracker", *gmsg);
@@ -473,7 +463,7 @@ void ParallelSliceTracker::dumpStats(long long step) {
 }
 
 
-void ParallelSliceTracker::switchElements(double scaleMargin) {
+void ParallelSliceTracker::switchElements(double /*scaleMargin*/) {
 
     double margin = 1.0;
 
diff --git a/src/Algorithms/ParallelSliceTracker.h b/src/Algorithms/ParallelSliceTracker.h
index 9626f5ac0f1277b0fc5261f086a3204a660617c0..ff18b4b3f64fff0ea3677e9d95d26def52a8c3c2 100644
--- a/src/Algorithms/ParallelSliceTracker.h
+++ b/src/Algorithms/ParallelSliceTracker.h
@@ -90,7 +90,6 @@ public:
     virtual void visitSolenoid(const Solenoid &);
     virtual void visitSource(const Source &);
     virtual void visitParallelPlate(const ParallelPlate &);
-
     virtual void execute();
 
     /// Apply the algorithm to a beam line.
@@ -141,10 +140,10 @@ private:
     CoordinateSystemTrafo referenceToLabCSTrafo_m;
 
     // Fringe fields for entrance and exit of magnetic elements.
-    void applyEntranceFringe(double edge, double curve,
-                             const BMultipoleField &field, double scale);
-    void applyExitFringe(double edge, double curve,
-                         const BMultipoleField &field, double scale);
+    void applyEntranceFringe(double /*edge*/, double /*curve*/,
+                             const BMultipoleField &/*field*/, double /*scale*/) {};
+    void applyExitFringe(double /*edge*/, double /*curve*/,
+                         const BMultipoleField &/*field*/, double /*scale*/) {};
 
     void FieldsOutput(double z, double Ex, double Ey, double Ez,
                       double Bx, double By, double Bz);
@@ -188,11 +187,11 @@ inline void ParallelSliceTracker::visitBeamBeam(const BeamBeam &bb) {
     itsOpalBeamline_m.visit(bb, *this, itsBunch_m);
 }
 
-inline void ParallelSliceTracker::visitCCollimator(const CCollimator &coll) {
+inline void ParallelSliceTracker::visitCCollimator(const CCollimator &/*coll*/) {
     // itsOpalBeamline_m.visit(coll, *this, itsBunch_m);
 }
 
-inline void ParallelSliceTracker::visitFlexibleCollimator(const FlexibleCollimator &coll) {
+inline void ParallelSliceTracker::visitFlexibleCollimator(const FlexibleCollimator &/*coll*/) {
     // itsOpalBeamline_m.visit(coll, *this, itsBunch_m);
 }
 
@@ -239,7 +238,7 @@ inline void ParallelSliceTracker::visitProbe(const Probe &prob) {
 }
 
 
-inline void ParallelSliceTracker::visitRBend(const RBend &bend) {
+inline void ParallelSliceTracker::visitRBend(const RBend &/*bend*/) {
     // itsOpalBeamline_m.visit(bend, *this, itsBunch_m);
 }
 
@@ -257,7 +256,7 @@ inline void ParallelSliceTracker::visitRFQuadrupole(const RFQuadrupole &rfq) {
     itsOpalBeamline_m.visit(rfq, *this, itsBunch_m);
 }
 
-inline void ParallelSliceTracker::visitSBend(const SBend &bend) {
+inline void ParallelSliceTracker::visitSBend(const SBend &/*bend*/) {
     // itsOpalBeamline_m.visit(bend, *this, itsBunch_m);
 }
 
@@ -280,18 +279,18 @@ inline void ParallelSliceTracker::visitSource(const Source &source) {
     itsOpalBeamline_m.visit(source, *this, itsBunch_m);
 }
 
-inline void ParallelSliceTracker::visitParallelPlate(const ParallelPlate &pplate) {
+inline void ParallelSliceTracker::visitParallelPlate(const ParallelPlate &/*pplate*/) {
     //do nothing.
 }
 
 inline void ParallelSliceTracker::kickParticles() {
 }
 
-inline void ParallelSliceTracker::updateSpaceOrientation(const bool &move) {
+inline void ParallelSliceTracker::updateSpaceOrientation(const bool &/*move*/) {
     itsBunch_m->calcBeamParameters();
 }
 
-inline void ParallelSliceTracker::kickReferenceParticle(const Vector_t &externalE, const Vector_t &externalB) {
+inline void ParallelSliceTracker::kickReferenceParticle(const Vector_t &/*externalE*/, const Vector_t &/*externalB*/) {
 }
 
 inline void ParallelSliceTracker::writePhaseSpace(const long long step, const double &sposRef) {
@@ -334,7 +333,7 @@ inline void ParallelSliceTracker::writePhaseSpace(const long long step, const do
     }
 }
 
-inline void ParallelSliceTracker::writeLastStepPhaseSpace(const long long step, const double &sposRef) {
+inline void ParallelSliceTracker::writeLastStepPhaseSpace(const long long /*step*/, const double &sposRef) {
     Inform msg("ParallelSliceTracker");
     if(itsBunch_m->isValid_m) {
         Vector_t externalE, externalB;
diff --git a/src/Algorithms/ParallelTTracker.cpp b/src/Algorithms/ParallelTTracker.cpp
index 380b1ac76c22a62c4f9b9f90e8cf9587fceeba59..9145781b6383a9d79e95b5e96c9b6c39834d42c4 100644
--- a/src/Algorithms/ParallelTTracker.cpp
+++ b/src/Algorithms/ParallelTTracker.cpp
@@ -995,7 +995,7 @@ void ParallelTTracker::prepareEmission() {
 
 }
 
-void ParallelTTracker::writePhaseSpace(const long long step, bool psDump, bool statDump) {
+void ParallelTTracker::writePhaseSpace(const long long /*step*/, bool psDump, bool statDump) {
     extern Inform *gmsg;
     Inform msg("OPAL ", *gmsg);
     Vector_t externalE, externalB;
diff --git a/src/Algorithms/ThickMapper.cpp b/src/Algorithms/ThickMapper.cpp
index 3ecee36bc424ce24a5c21d62b833fd5f1feeb1ee..755bfe0ca04510aaea55bec1c61e04e0ec96204a 100644
--- a/src/Algorithms/ThickMapper.cpp
+++ b/src/Algorithms/ThickMapper.cpp
@@ -141,7 +141,7 @@ void ThickMapper::visitLambertson(const Lambertson &lamb) {
 }
 
 
-void ThickMapper::visitMarker(const Marker &marker) {
+void ThickMapper::visitMarker(const Marker &/*marker*/) {
     // Do nothing.
 }
 
@@ -213,7 +213,7 @@ void ThickMapper::visitMultipole(const Multipole &mult) {
     //std::cerr << "==> Leaving ThickMapper::visitMultipole(...)" << std::endl;
 }
 
-void ThickMapper::visitProbe(const Probe &prob) {
+void ThickMapper::visitProbe(const Probe &/*prob*/) {
     // Do nothing.
 }
 
@@ -516,7 +516,7 @@ void ThickMapper::visitSolenoid(const Solenoid &solenoid) {
 }
 
 
-void ThickMapper::visitParallelPlate(const ParallelPlate &pplate) {
+void ThickMapper::visitParallelPlate(const ParallelPlate &/*pplate*/) {
     // Do nothing.
 }
 
@@ -567,7 +567,7 @@ void ThickMapper::applyDrift(double length) {
 }
 
 
-void ThickMapper::applyEntranceFringe(double angle, double curve,
+void ThickMapper::applyEntranceFringe(double angle, double /*curve*/,
                                       const BMultipoleField &field, double scale) {
     // *** MISSING *** Higher order terms for entrance fringe.
     double ca = cos(angle);
@@ -603,7 +603,7 @@ void ThickMapper::applyEntranceFringe(double angle, double curve,
 }
 
 
-void ThickMapper::applyExitFringe(double angle, double curve,
+void ThickMapper::applyExitFringe(double angle, double /*curve*/,
                                   const BMultipoleField &field, double scale) {
     // *** MISSING *** Higher order terms for exit fringe.
     double ca = cos(angle);
diff --git a/src/Algorithms/ThickTracker.cpp b/src/Algorithms/ThickTracker.cpp
index 537808a4b9250a3748d91a2922721188f3c66d8d..5505c0d9ea93b00a31ee1a730ca25c14761b4fd7 100644
--- a/src/Algorithms/ThickTracker.cpp
+++ b/src/Algorithms/ThickTracker.cpp
@@ -60,14 +60,14 @@ ThickTracker::ThickTracker(const Beamline &beamline,
 
 ThickTracker::ThickTracker(const Beamline &beamline,
                            PartBunchBase<double, 3> *bunch,
-                           Beam &beam,
+                           Beam &/*beam*/,
                            DataSink &ds,
                            const PartData &reference,
                            bool revBeam, bool revTrack,
-                           const std::vector<unsigned long long> &maxSteps,
+                           const std::vector<unsigned long long> &/*maxSteps*/,
                            double zstart,
                            const std::vector<double> &zstop,
-                           const std::vector<double> &dt,
+                           const std::vector<double> &/*dt*/,
                            const int& truncOrder)
     : Tracker(beamline, bunch, reference, revBeam, revTrack)
     , hamiltonian_m(truncOrder)
diff --git a/src/Algorithms/ThickTracker.h b/src/Algorithms/ThickTracker.h
index e2b1ef1600023861cf06d346a0a9514fee81f327..e230a765f911f1fe2e1a9a07fa78d34a512a4ed4 100644
--- a/src/Algorithms/ThickTracker.h
+++ b/src/Algorithms/ThickTracker.h
@@ -378,12 +378,12 @@ private:
     IpplTimings::TimerRef mapTracking_m;    ///< track particles trough maps of elements_m
 };
 
-inline void ThickTracker::visitAlignWrapper(const AlignWrapper &wrap) {
+inline void ThickTracker::visitAlignWrapper(const AlignWrapper &/*wrap*/) {
 //     itsOpalBeamline_m.visit(wrap, *this, itsBunch_m);
     this->throwElementError_m("AlignWrapper");
 }
 
-inline void ThickTracker::visitBeamBeam(const BeamBeam &bb) {
+inline void ThickTracker::visitBeamBeam(const BeamBeam &/*bb*/) {
 //     itsOpalBeamline_m.visit(bb, *this, itsBunch_m);
     this->throwElementError_m("BeamBeam");
 }
@@ -392,25 +392,25 @@ inline void ThickTracker::visitBeamStripping(const BeamStripping &bstp) {
     itsOpalBeamline_m.visit(bstp, *this, itsBunch_m);
 }
 
-inline void ThickTracker::visitCCollimator(const CCollimator &coll) {
+inline void ThickTracker::visitCCollimator(const CCollimator &/*coll*/) {
 //     itsOpalBeamline_m.visit(coll, *this, itsBunch_m);
     this->throwElementError_m("CCollimator");
 }
 
 
-inline void ThickTracker::visitCorrector(const Corrector &corr) {
+inline void ThickTracker::visitCorrector(const Corrector &/*coll*/) {
 //     itsOpalBeamline_m.visit(corr, *this, itsBunch_m);
     this->throwElementError_m("Corrector");
 }
 
 
-inline void ThickTracker::visitDegrader(const Degrader &deg) {
+inline void ThickTracker::visitDegrader(const Degrader &/*deg*/) {
 //     itsOpalBeamline_m.visit(deg, *this, itsBunch_m);
     this->throwElementError_m("Degrader");
 }
 
 
-inline void ThickTracker::visitDiagnostic(const Diagnostic &diag) {
+inline void ThickTracker::visitDiagnostic(const Diagnostic &/*diag*/) {
 //     itsOpalBeamline_m.visit(diag, *this, itsBunch_m);
     this->throwElementError_m("Diagnostic");
 }
@@ -430,25 +430,25 @@ inline void ThickTracker::visitDrift(const Drift &drift) {
 }
 
 
-inline void ThickTracker::visitFlexibleCollimator(const FlexibleCollimator &coll) {
+inline void ThickTracker::visitFlexibleCollimator(const FlexibleCollimator &/*coll*/) {
 //     itsOpalBeamline_m.visit(coll, *this, itsBunch_m);
     this->throwElementError_m("FlexibleCollimator");
 }
 
 
-inline void ThickTracker::visitLambertson(const Lambertson &lamb) {
+inline void ThickTracker::visitLambertson(const Lambertson &/*lamb*/) {
 //     itsOpalBeamline_m.visit(lamb, *this, itsBunch_m);
     this->throwElementError_m("Lambertson");
 }
 
 
-inline void ThickTracker::visitMarker(const Marker &marker) {
+inline void ThickTracker::visitMarker(const Marker &/*marker*/) {
 //     itsOpalBeamline_m.visit(marker, *this, itsBunch_m);
 //     this->throwElementError_m("Marker");
 }
 
 
-inline void ThickTracker::visitMonitor(const Monitor &mon) {
+inline void ThickTracker::visitMonitor(const Monitor &/*mon*/) {
 //     itsOpalBeamline_m.visit(mon, *this, itsBunch_m);
     this->throwElementError_m("Monitor");
 }
@@ -473,30 +473,30 @@ inline void ThickTracker::visitMultipole(const Multipole &mult) {
                                          length));
 }
 
-inline void ThickTracker::visitProbe(const Probe &prob) {
+inline void ThickTracker::visitProbe(const Probe &/*probe*/) {
 //     itsOpalBeamline_m.visit(prob, *this, itsBunch_m);
     this->throwElementError_m("Probe");
 }
 
 
-inline void ThickTracker::visitRBend(const RBend &bend) {
+inline void ThickTracker::visitRBend(const RBend &/*bend*/) {
 //     itsOpalBeamline_m.visit(bend, *this, itsBunch_m);
     this->throwElementError_m("RBend");
 }
 
 
-inline void ThickTracker::visitRFCavity(const RFCavity &as) {
+inline void ThickTracker::visitRFCavity(const RFCavity &/*as*/) {
 //     itsOpalBeamline_m.visit(as, *this, itsBunch_m);
     this->throwElementError_m("RFCavity");
 }
 
-inline void ThickTracker::visitTravelingWave(const TravelingWave &as) {
+inline void ThickTracker::visitTravelingWave(const TravelingWave &/*as*/) {
 //     itsOpalBeamline_m.visit(as, *this, itsBunch_m);
     this->throwElementError_m("TravelingWave");
 }
 
 
-inline void ThickTracker::visitRFQuadrupole(const RFQuadrupole &rfq) {
+inline void ThickTracker::visitRFQuadrupole(const RFQuadrupole &/*rfq*/) {
 //     itsOpalBeamline_m.visit(rfq, *this, itsBunch_m);
     this->throwElementError_m("RFQuadrupole");
 }
@@ -554,25 +554,25 @@ inline void ThickTracker::visitSBend(const SBend &bend) {
 }
 
 
-inline void ThickTracker::visitSeparator(const Separator &sep) {
+inline void ThickTracker::visitSeparator(const Separator &/*sep*/) {
 //     itsOpalBeamline_m.visit(sep, *this, itsBunch_m);
     this->throwElementError_m("Separator");
 }
 
 
-inline void ThickTracker::visitSeptum(const Septum &sept) {
+inline void ThickTracker::visitSeptum(const Septum &/*sept*/) {
 //     itsOpalBeamline_m.visit(sept, *this, itsBunch_m);
     this->throwElementError_m("Septum");
 }
 
 
-inline void ThickTracker::visitSolenoid(const Solenoid &solenoid) {
+inline void ThickTracker::visitSolenoid(const Solenoid &/*solenoid*/) {
 //     itsOpalBeamline_m.visit(solenoid, *this, itsBunch_m);
     this->throwElementError_m("Solenoid");
 }
 
 
-inline void ThickTracker::visitParallelPlate(const ParallelPlate &pplate) {
+inline void ThickTracker::visitParallelPlate(const ParallelPlate &/*pplate*/) {
 //     itsOpalBeamline_m.visit(pplate, *this, itsBunch_m);
     this->throwElementError_m("ParallelPlate");
 }
diff --git a/src/Algorithms/TransportMapper.cpp b/src/Algorithms/TransportMapper.cpp
index 424d460ffb31637a6e650d1068a05d41f3a71466..a595ecb46609b3f59d50008cc406d5a6db233b59 100644
--- a/src/Algorithms/TransportMapper.cpp
+++ b/src/Algorithms/TransportMapper.cpp
@@ -173,7 +173,7 @@ void TransportMapper::visitLambertson(const Lambertson &lamb) {
 }
 
 
-void TransportMapper::visitMarker(const Marker &marker) {
+void TransportMapper::visitMarker(const Marker &/*marker*/) {
     // Do nothing.
 }
 
@@ -204,7 +204,7 @@ void TransportMapper::visitPatch(const Patch &patch) {
     if(back_path) transform = Inverse(transform);
     applyTransform(transform, 0.0);
 }
-void TransportMapper::visitProbe(const Probe &prob) {
+void TransportMapper::visitProbe(const Probe &/*prob*/) {
     // Do nothing.
 }
 
@@ -393,7 +393,7 @@ void TransportMapper::visitSolenoid(const Solenoid &solenoid) {
 }
 
 
-void TransportMapper::visitParallelPlate(const ParallelPlate &pplate) {
+void TransportMapper::visitParallelPlate(const ParallelPlate &/*pplate*/) {
     // Do nothing.
 }
 
diff --git a/src/Aperture/Aperture.cpp b/src/Aperture/Aperture.cpp
index c1ca5e30bc0ae16cef244cd0498fa2a3903a8936..00e9d6ae4c9167dd9e2af0c32efb878222cfe982 100644
--- a/src/Aperture/Aperture.cpp
+++ b/src/Aperture/Aperture.cpp
@@ -251,7 +251,7 @@ Aperture::A_Tline::const_iterator Aperture::end() const {
     return itsTable.end();
 }
 
-double Aperture::getBETXMAX(const A_row &row, int i1, int i2) const {
+double Aperture::getBETXMAX(const A_row &row, int /*i1*/, int /*i2*/) const {
     double max;
     double nslice = Attributes::getReal(itsAttr[NSLICE]);
     max = row.Interpol[0].Beta_x;
@@ -261,7 +261,7 @@ double Aperture::getBETXMAX(const A_row &row, int i1, int i2) const {
     return max;
 }
 
-double Aperture::getBETYMAX(const A_row &row, int i1, int i2) const {
+double Aperture::getBETYMAX(const A_row &row, int /*i1*/, int /*i2*/) const {
     double max;
     double nslice = Attributes::getReal(itsAttr[NSLICE]);
     max = row.Interpol[0].Beta_y;
@@ -272,7 +272,7 @@ double Aperture::getBETYMAX(const A_row &row, int i1, int i2) const {
     return max;
 }
 
-double Aperture::getAPERTMIN(const A_row &row, int i1, int i2) const {
+double Aperture::getAPERTMIN(const A_row &row, int /*i1*/, int /*i2*/) const {
     double min;
     double nslice = Attributes::getReal(itsAttr[NSLICE]);
     min = row.Interpol[0].apert;
@@ -321,7 +321,7 @@ void Aperture::visitRBend(const RBend &rb) {
     }
 }
 
-void Aperture::visitCyclotron(const Cyclotron &cy) {
+void Aperture::visitCyclotron(const Cyclotron &/*cy*/) {
     ERRORMSG("MSplit::visitCyclotron(const Cyclotron &cy) not implemented");
 }
 
@@ -1012,7 +1012,7 @@ bool Aperture::isDependent(const std::string &name) const {
     // Otherwise replacement is not required.
     return false;
 }
-bool Aperture::matches(Table *rhs) const { return false; }
+bool Aperture::matches(Table */*rhs*/) const { return false; }
 Expressions::PtrToScalar<double> Aperture::makeColumnExpression(const std::string &colname) const {
     const ColDesc *col = findCol(*this, colname);
     return new Column(*this, colname, *col);
diff --git a/src/Aperture/Split.cpp b/src/Aperture/Split.cpp
index 01db10b91d4ab4bdb46e6b0a78dae2dc78a62049..5250b3db8d832f666d28ac3a625328915dd5611f 100644
--- a/src/Aperture/Split.cpp
+++ b/src/Aperture/Split.cpp
@@ -233,7 +233,7 @@ MSplit::A_Tline::const_iterator MSplit::end() const {
     return itsTable.end();
 }
 
-double MSplit::getBETXMAX(const A_row &row, int i1, int i2) const {
+double MSplit::getBETXMAX(const A_row &row, int /*i1*/, int /*i2*/) const {
     double max;
     double nslice = Attributes::getReal(itsAttr[NSLICE]);
     max = row.Interpol[0].Beta_x;
@@ -243,7 +243,7 @@ double MSplit::getBETXMAX(const A_row &row, int i1, int i2) const {
     return max;
 }
 
-double MSplit::getBETYMAX(const A_row &row, int i1, int i2) const {
+double MSplit::getBETYMAX(const A_row &row, int /*i1*/, int /*i2*/) const {
     double max;
     double nslice = Attributes::getReal(itsAttr[NSLICE]);
     max = row.Interpol[0].Beta_y;
@@ -294,7 +294,7 @@ void MSplit::visitRBend(const RBend &rb) {
     }
 }
 
-void MSplit::visitCyclotron(const Cyclotron &cy) {
+void MSplit::visitCyclotron(const Cyclotron &/*cy*/) {
     ERRORMSG("MSplit::visitCyclotron(const Cyclotron &cy) not implemented");
 }
 
@@ -748,7 +748,7 @@ bool MSplit::isDependent(const std::string &name) const {
     // Otherwise replacement is not required.
     return false;
 }
-bool MSplit::matches(Table *rhs) const { return false; }
+bool MSplit::matches(Table */*rhs*/) const { return false; }
 Expressions::PtrToScalar<double> MSplit::makeColumnExpression(const std::string &colname) const {
     const ColDesc *col = findCol(*this, colname);
     return new Column(*this, colname, *col);
diff --git a/src/BasicActions/DumpEMFields.cpp b/src/BasicActions/DumpEMFields.cpp
index 9ea7d346e060d6e7ddd677b8feb563d18ef4167f..855efaf0c8e7897fb6f1b23ff409c54bbd08f11f 100644
--- a/src/BasicActions/DumpEMFields.cpp
+++ b/src/BasicActions/DumpEMFields.cpp
@@ -94,7 +94,7 @@ DumpEMFields::~DumpEMFields() {
     dumpsSet_m.erase(this);
 }
 
-DumpEMFields* DumpEMFields::clone(const std::string &name) {
+DumpEMFields* DumpEMFields::clone(const std::string &/*name*/) {
     DumpEMFields* dumper = new DumpEMFields();
     if (grid_m != NULL) {
         dumper->grid_m = grid_m->clone();
diff --git a/src/Distribution/ClosedOrbitFinder.h b/src/Distribution/ClosedOrbitFinder.h
index 42e484cde0e076c6da2a303b76150bd4b75953e5..034432ac8002c8a99a5327eae51fb92241f16b45 100644
--- a/src/Distribution/ClosedOrbitFinder.h
+++ b/src/Distribution/ClosedOrbitFinder.h
@@ -589,7 +589,7 @@ bool ClosedOrbitFinder<Value_type, Size_type, Stepper>::findOrbitOfEnergy_m(
     // index for reaching next element of the arrays r and pr (no nicer way found yet)
     size_type idx = 0;
     // observer for storing the current value after each ODE step (e.g. Runge-Kutta step) into the containers of r and pr
-    auto store = [&](state_type& y, const value_type t)
+    auto store = [&](state_type& y, const value_type /*t*/)
     {
         r_m[idx]   = y[0];
         pr_m[idx]  = y[1];
diff --git a/src/Distribution/Distribution.cpp b/src/Distribution/Distribution.cpp
index deb769c086d07fbd341d76d9eaf7ea82cec19e94..6ddbe2a507e03287103ed47bf399428a527f255f 100644
--- a/src/Distribution/Distribution.cpp
+++ b/src/Distribution/Distribution.cpp
@@ -513,7 +513,7 @@ void  Distribution::createPriPart(PartBunchBase<double, 3> *beam, BoundaryGeomet
     *gmsg << *beam << endl;
 }
 
-void Distribution::doRestartOpalT(PartBunchBase<double, 3> *beam, size_t Np, int restartStep, H5PartWrapper *dataSource) {
+void Distribution::doRestartOpalT(PartBunchBase<double, 3> *beam, size_t /*Np*/, int restartStep, H5PartWrapper *dataSource) {
 
     IpplTimings::startTimer(beam->distrReload_m);
 
@@ -549,8 +549,8 @@ void Distribution::doRestartOpalT(PartBunchBase<double, 3> *beam, size_t Np, int
 }
 
 void Distribution::doRestartOpalCycl(PartBunchBase<double, 3> *beam,
-                                     size_t Np,
-                                     int restartStep,
+                                     size_t /*Np*/,
+                                     int /*restartStep*/,
                                      const int specifiedNumBunch,
                                      H5PartWrapper *dataSource) {
 
@@ -629,7 +629,7 @@ void Distribution::doRestartOpalCycl(PartBunchBase<double, 3> *beam,
     IpplTimings::stopTimer(beam->distrReload_m);
 }
 
-void Distribution::doRestartOpalE(EnvelopeBunch *beam, size_t Np, int restartStep,
+void Distribution::doRestartOpalE(EnvelopeBunch *beam, size_t /*Np*/, int /*restartStep*/,
                                   H5PartWrapper *dataSource) {
     IpplTimings::startTimer(beam->distrReload_m);
     int N = dataSource->getNumParticles();
@@ -1096,7 +1096,7 @@ size_t Distribution::getNumberOfParticlesInFile(std::ifstream &inputFile) {
     return numberOfParticlesRead;
 }
 
-void Distribution::createDistributionFromFile(size_t numberOfParticles, double massIneV) {
+void Distribution::createDistributionFromFile(size_t /*numberOfParticles*/, double massIneV) {
 
     *gmsg << level3 << "\n"
           << "------------------------------------------------------------------------------------\n";
@@ -1516,7 +1516,7 @@ void  Distribution::createBoundaryGeometry(PartBunchBase<double, 3> *beam, Bound
 
 void Distribution::createOpalCycl(PartBunchBase<double, 3> *beam,
                                   size_t numberOfParticles,
-                                  double current, const Beamline &bl) {
+                                  double current, const Beamline &/*bl*/) {
 
     /*
      *  setup data for matched distribution generation
@@ -1583,9 +1583,9 @@ void Distribution::createOpalCycl(PartBunchBase<double, 3> *beam,
 }
 
 void Distribution::createOpalE(Beam *beam,
-                               std::vector<Distribution *> addedDistributions,
+                               std::vector<Distribution *> /*addedDistributions*/,
                                EnvelopeBunch *envelopeBunch,
-                               double distCenter,
+                               double /*distCenter*/,
                                double Bz0) {
 
     IpplTimings::startTimer(envelopeBunch->distrCreate_m);
@@ -4321,7 +4321,7 @@ void Distribution::setupEnergyBins(double maxTOrZ, double minTOrZ) {
 
 }
 
-void Distribution::setupParticleBins(double massIneV, PartBunchBase<double, 3> *beam) {
+void Distribution::setupParticleBins(double /*massIneV*/, PartBunchBase<double, 3> *beam) {
 
     numberOfEnergyBins_m
         = static_cast<int>(std::abs(Attributes::getReal(itsAttr[Attrib::Distribution::NBIN])));
diff --git a/src/Distribution/SigmaGenerator.h b/src/Distribution/SigmaGenerator.h
index 519c017dc28012116b7fcd12baa4210aa06ee343..c1f8e886fe1be9bb7e8202ab8de10627374dac44 100644
--- a/src/Distribution/SigmaGenerator.h
+++ b/src/Distribution/SigmaGenerator.h
@@ -1038,7 +1038,7 @@ void SigmaGenerator<Value_type, Size_type>::initialize(value_type nuz,
 
 template<typename Value_type, typename Size_type>
 typename SigmaGenerator<Value_type, Size_type>::matrix_type
-SigmaGenerator<Value_type, Size_type>::updateInitialSigma(const matrix_type& M,
+SigmaGenerator<Value_type, Size_type>::updateInitialSigma(const matrix_type& /*M*/,
                                                           sparse_matrix_type& R,
                                                           sparse_matrix_type& invR)
 {
diff --git a/src/Elements/OpalBeamline.cpp b/src/Elements/OpalBeamline.cpp
index a852ce7379771a406ecec9330aaaa07d39999a52..8966ea30b7da025ba1f86c2f433bd5aa93999029 100644
--- a/src/Elements/OpalBeamline.cpp
+++ b/src/Elements/OpalBeamline.cpp
@@ -46,7 +46,7 @@ std::set<std::shared_ptr<Component>> OpalBeamline::getElements(const Vector_t &x
     return elementSet;
 }
 
-unsigned long OpalBeamline::getFieldAt(const unsigned int &index, const Vector_t &pos, const long &sindex, const double &t, Vector_t &E, Vector_t &B) {
+unsigned long OpalBeamline::getFieldAt(const unsigned int &/*index*/, const Vector_t &/*pos*/, const long &/*sindex*/, const double &/*t*/, Vector_t &/*E*/, Vector_t &/*B*/) {
 
     unsigned long rtv = 0x00;
 
@@ -156,7 +156,7 @@ void OpalBeamline::prepareSections() {
     prepared_m = true;
 }
 
-void OpalBeamline::print(Inform &msg) const {
+void OpalBeamline::print(Inform &/*msg*/) const {
 }
 
 void OpalBeamline::swap(OpalBeamline & rhs) {
diff --git a/src/Elements/OpalBeamline.h b/src/Elements/OpalBeamline.h
index 9eced4f53b60d1823f470ddaed92da84f76e3f2e..1bf0a6c8ec5eec69be3b80b822560cf8c8f11847 100644
--- a/src/Elements/OpalBeamline.h
+++ b/src/Elements/OpalBeamline.h
@@ -143,7 +143,7 @@ void OpalBeamline::visit<Lambertson>(const Lambertson &element, BeamlineVisitor
 }
 
 template<> inline
-void OpalBeamline::visit<Marker>(const Marker &element, BeamlineVisitor &, PartBunchBase<double, 3> *) {
+void OpalBeamline::visit<Marker>(const Marker &/*element*/, BeamlineVisitor &, PartBunchBase<double, 3> *) {
 }
 
 template<> inline
diff --git a/src/Expressions/AList.h b/src/Expressions/AList.h
index 997d4d042a4ae5cb240bfc8e413c1846590b2a8e..3d1b0c4cb4a3d65310ebb30e77966ba6e272d303 100644
--- a/src/Expressions/AList.h
+++ b/src/Expressions/AList.h
@@ -115,7 +115,7 @@ namespace Expressions {
 
 
     template <class T>
-    void AList<T>::print(std::ostream &os, int precedence) const {
+    void AList<T>::print(std::ostream &os, int /*precedence*/) const {
         os << '{';
         typename ArrayOfPtrs<T>::const_iterator i = itsValue.begin();
 
diff --git a/src/Expressions/Indexer.h b/src/Expressions/Indexer.h
index 2be7eeff290e03c56afecd7a916a0006d9d244db..9a49407f3bfce4761c91b9d39be41f24068949e8 100644
--- a/src/Expressions/Indexer.h
+++ b/src/Expressions/Indexer.h
@@ -110,7 +110,7 @@ namespace Expressions {
 
 
     template <class T> inline
-    void Indexer<T>::print(std::ostream &os, int precedence) const {
+    void Indexer<T>::print(std::ostream &os, int /*precedence*/) const {
         lft->print(os, 0);
         os << '[';
         rgt->print(os, 0);
diff --git a/src/Expressions/SHash.cpp b/src/Expressions/SHash.cpp
index a98a96312cb5d9a2beda6ef3a925c3b4024f5875..81a01e8e9f50fc751b48b763a71e2bbad7da8530 100644
--- a/src/Expressions/SHash.cpp
+++ b/src/Expressions/SHash.cpp
@@ -52,7 +52,7 @@ namespace Expressions {
     }
 
 
-    void SHash::print(std::ostream &os, int precedence) const {
+    void SHash::print(std::ostream &os, int /*precedence*/) const {
         os << '#';
     }
 
diff --git a/src/Lines/LineTemplate.cpp b/src/Lines/LineTemplate.cpp
index 786ea3f606a40fe8e2fbe17178004c277dacbe68..731eaf3bdb5a2872f458ef4fde5c2c6a3e462e6b 100644
--- a/src/Lines/LineTemplate.cpp
+++ b/src/Lines/LineTemplate.cpp
@@ -44,7 +44,7 @@ LineTemplate::~LineTemplate()
 {}
 
 
-LineTemplate *LineTemplate::clone(const std::string &name) {
+LineTemplate *LineTemplate::clone(const std::string &/*name*/) {
     throw ParseError("LineTemplate::clone()",
                      "You cannot use this object without attributes.");
 }
diff --git a/src/Lines/SequenceTemplate.cpp b/src/Lines/SequenceTemplate.cpp
index 60c76761d025e511bfac40277d175ed66eb9c2c7..ec784e88601a5c129d2407d3f6b158ecd300152f 100644
--- a/src/Lines/SequenceTemplate.cpp
+++ b/src/Lines/SequenceTemplate.cpp
@@ -47,7 +47,7 @@ SequenceTemplate::~SequenceTemplate()
 {}
 
 
-SequenceTemplate *SequenceTemplate::clone(const std::string &name) {
+SequenceTemplate *SequenceTemplate::clone(const std::string &/*name*/) {
     throw ParseError("SequenceTemplate::clone()",
                      "You cannot use this object without attributes.");
 }
diff --git a/src/Main.cpp b/src/Main.cpp
index b06e25423b2733fe34c27330ed33f7b5f78f1469..29b06873a926cb72dad7ae552796d3a307846610 100644
--- a/src/Main.cpp
+++ b/src/Main.cpp
@@ -83,8 +83,8 @@ Inform *gmsg;
 namespace {
     void errorHandlerGSL(const char *reason,
                          const char *file,
-                         int line,
-                         int gsl_errno) {
+                         int /*line*/,
+                         int /*gsl_errno*/) {
         throw OpalException(file, reason);
     }
 }
@@ -527,4 +527,4 @@ int main(int argc, char *argv[]) {
     delete Ippl::Debug;
 
     return 0;
-}
\ No newline at end of file
+}
diff --git a/src/Match/LMDif.cpp b/src/Match/LMDif.cpp
index 636db21539c5e54a54ba00ac6fd3e8786029a486..0d179062e477e68da3a35585d6bf580d83a67c7d 100644
--- a/src/Match/LMDif.cpp
+++ b/src/Match/LMDif.cpp
@@ -215,7 +215,7 @@ void LMDif::execute() {
 
 
 void LMDif::lmpar(QRSolver &solver, const Array1D<double> &D,
-                  const Vector<double> &f, Vector<double> &h) {
+                  const Vector<double> &/*f*/, Vector<double> &h) {
     // The iteration limit.
     static const int limit = 10;
 
diff --git a/src/Match/Migrad.cpp b/src/Match/Migrad.cpp
index 5cf8461545499f404b1e71b287cd5d2824e9ba6b..830ea52d14c4354d34a384e714907a19be3503b9 100644
--- a/src/Match/Migrad.cpp
+++ b/src/Match/Migrad.cpp
@@ -301,7 +301,7 @@ void Migrad::hessenberg(Vector<double> &x, Vector<double> &f,
 }
 
 
-void Migrad::derivatives(Vector<double> &x, Vector<double> &f,
+void Migrad::derivatives(Vector<double> &x, Vector<double> &/*f*/,
                          Vector<double> &g, Vector<double> &g2) {
     int n = Match::block->countVariables();
     int m = Match::block->countFunctions();
diff --git a/src/Sample/FromFile.h b/src/Sample/FromFile.h
index b40886abc393128484b8fc5f92a80bd8c55310ea..e6ecbec26d9d075795e2200f378bb70ff48c22e3 100644
--- a/src/Sample/FromFile.h
+++ b/src/Sample/FromFile.h
@@ -65,7 +65,7 @@ public:
         ind->genes[i] = getNext(ind->id);
     }
 
-    void allocate(const CmdArguments_t& args, const Comm::Bundle_t& /*comm*/) {
+    void allocate(const CmdArguments_t& /*args*/, const Comm::Bundle_t& /*comm*/) {
         std::ifstream in(filename_m);
 
         if ( !in.is_open() ) {
diff --git a/src/Sample/Normal.h b/src/Sample/Normal.h
index efe0493bba52f2424ef141c6674ac4ab943e6b02..69b1bb05c8709602bab7e9cdbe9c4420fc2dd029 100644
--- a/src/Sample/Normal.h
+++ b/src/Sample/Normal.h
@@ -34,7 +34,7 @@ public:
         ind->genes[i] = RNGInstance_m->getNext(dist_m);
     }
     
-    void allocate(const CmdArguments_t& args, const Comm::Bundle_t& comm) {
+    void allocate(const CmdArguments_t& /*args*/, const Comm::Bundle_t& comm) {
         if ( !RNGInstance_m )
             RNGInstance_m = RNGStream::getInstance(seed_m + comm.island_id);
     }
diff --git a/src/Sample/OpalSample.cpp b/src/Sample/OpalSample.cpp
index 640aca9ecdb238397bbb92ee15a563ac1c0e29c1..b03001116d3004dee2f051bfba33e24826303d5f 100644
--- a/src/Sample/OpalSample.cpp
+++ b/src/Sample/OpalSample.cpp
@@ -91,7 +91,7 @@ void OpalSample::initialize(const std::string &dvarName,
                             double lower,
                             double upper,
                             size_t modulo,
-                            bool sequence) {
+                            bool /*sequence*/) {
 
     if ( lower >= upper )
         throw OpalException("OpalSample::initialize()",
diff --git a/src/Sample/SampleIndividual.h b/src/Sample/SampleIndividual.h
index 10886ddb7c2d7e3afb6e3dabfd0837ccfe7fc06a..3e475a11437f4ba52bd00b86e4942e25d83b121e 100644
--- a/src/Sample/SampleIndividual.h
+++ b/src/Sample/SampleIndividual.h
@@ -42,7 +42,7 @@ public:
 
     /// serialization of structure
     template<class Archive>
-    void serialize(Archive & ar, const unsigned int version) {
+    void serialize(Archive & ar, const unsigned int /*version*/) {
         ar & genes;
         ar & objectives;
         ar & id;
diff --git a/src/Sample/Sampler.cpp b/src/Sample/Sampler.cpp
index 4c257b5d04e8d0d769d5242f8ad103ec9b09fabb..285eb5dd9bd57d48cf93ab4a4663dab6ddb08184 100644
--- a/src/Sample/Sampler.cpp
+++ b/src/Sample/Sampler.cpp
@@ -14,13 +14,13 @@
 
 #include <boost/filesystem.hpp>
 
-Sampler::Sampler(Expressions::Named_t objectives,
-                 Expressions::Named_t constraints,
-                 DVarContainer_t dvars,
-                 size_t dim, Comm::Bundle_t comms,
-                 CmdArguments_t args,
-                 std::vector<double> hypervolRef,
-                 int nrWorkerGroups)
+Sampler::Sampler(Expressions::Named_t /*objectives*/,
+                 Expressions::Named_t /*constraints*/,
+                 DVarContainer_t /*dvars*/,
+                 size_t /*dim*/, Comm::Bundle_t comms,
+                 CmdArguments_t /*args*/,
+                 std::vector<double> /*hypervolRef*/,
+                 int /*nrWorkerGroups*/)
     : Optimizer(comms.opt)
 {
     throw OptPilotException("Sampler::Sampler",
diff --git a/src/Sample/SamplingMethod.h b/src/Sample/SamplingMethod.h
index e7ca679b6377776216671f300a9868d0c613f77b..e4279b82d3f8a5aebae3ca7915b590595446852e 100644
--- a/src/Sample/SamplingMethod.h
+++ b/src/Sample/SamplingMethod.h
@@ -13,7 +13,7 @@ class SamplingMethod
 {
 
 public:
-        virtual ~SamplingMethod() {};
+    virtual ~SamplingMethod() {};
     virtual void create(boost::shared_ptr<SampleIndividual>& ind, size_t i) = 0;
     
     /*!
@@ -26,7 +26,7 @@ public:
      * @param args samler arguments
      * @param comm sampler communicator
      */
-    virtual void allocate(const CmdArguments_t& args, const Comm::Bundle_t& comm) {
+    virtual void allocate(const CmdArguments_t& /*args*/, const Comm::Bundle_t& /*comm*/) {
         /* Some sampling methods require a container.
          * In order to reduce memory only samplers should allocate
          * the memory
diff --git a/src/Sample/Uniform.h b/src/Sample/Uniform.h
index 8185ffb667342f102ee50ad8f519a0ad6c7448ff..a07c58a1e0b5fb8b43e674bd95402949a194da3c 100644
--- a/src/Sample/Uniform.h
+++ b/src/Sample/Uniform.h
@@ -38,7 +38,7 @@ public:
         ind->genes[i] = RNGInstance_m->getNext(dist_m);
     }
     
-    void allocate(const CmdArguments_t& args, const Comm::Bundle_t& comm) {
+    void allocate(const CmdArguments_t& /*args*/, const Comm::Bundle_t& comm) {
         if ( !RNGInstance_m )
             RNGInstance_m = RNGStream::getInstance(seed_m + comm.island_id);
     }
diff --git a/src/Solvers/FFTBoxPoissonSolver.h b/src/Solvers/FFTBoxPoissonSolver.h
index 1ec4b68522396a3ee8c91a78f1cb9149ad8a7093..66dbb9f5464ce92f909508f891e11fc2642e67f8 100644
--- a/src/Solvers/FFTBoxPoissonSolver.h
+++ b/src/Solvers/FFTBoxPoissonSolver.h
@@ -54,13 +54,13 @@ public:
     /// compute the shifted integrated Green function as described in <A HREF="http://prst-ab.aps.org/abstract/PRSTAB/v9/i4/e044204">Three-dimensional quasistatic model for high brightness beam dynamics simulation</A> by Qiang et al.
     void shiftedIntGreensFunction(double zshift);
 
-    double getXRangeMin(unsigned short level) {return -a_m;}
-    double getXRangeMax(unsigned short level) {return  a_m;}
-    double getYRangeMin(unsigned short level) {return -a_m;}
-    double getYRangeMax(unsigned short level) {return  a_m;}
-    double getZRangeMin(unsigned short level) {return -a_m; }
-    double getZRangeMax(unsigned short level) {return  a_m; }
-    void test(PartBunchBase<double, 3> *bunch) { }
+    double getXRangeMin(unsigned short /*level*/) {return -a_m;}
+    double getXRangeMax(unsigned short /*level*/) {return  a_m;}
+    double getYRangeMin(unsigned short /*level*/) {return -a_m;}
+    double getYRangeMax(unsigned short /*level*/) {return  a_m;}
+    double getZRangeMin(unsigned short /*level*/) {return -a_m; }
+    double getZRangeMax(unsigned short /*level*/) {return  a_m; }
+        void test(PartBunchBase<double, 3> */*bunch*/) { }
 
 
     Inform &print(Inform &os) const;
@@ -126,9 +126,4 @@ inline Inform &operator<<(Inform &os, const FFTBoxPoissonSolver &fs) {
 
 
 
-#endif
-
-/***************************************************************************
- * $RCSfile: FFTBoxPoissonSolver.hh,v $   $Author: adelmann $
- * $Revision: 1.1.1.1 $   $Date: 2001/08/08 11:21:48 $
- ***************************************************************************/
\ No newline at end of file
+#endif
\ No newline at end of file
diff --git a/src/Solvers/FFTPoissonSolver.cpp b/src/Solvers/FFTPoissonSolver.cpp
index ea768f5a405a8036b8d7c81413df81b504b62918..fe0bb557415093c89e5a8f7d979a120499afca03 100644
--- a/src/Solvers/FFTPoissonSolver.cpp
+++ b/src/Solvers/FFTPoissonSolver.cpp
@@ -381,7 +381,7 @@ void FFTPoissonSolver::computePotential(Field_t &rho, Vector_t hr) {
     IpplTimings::stopTimer(ComputePotential_m);
 }
 
-void FFTPoissonSolver::computePotentialDKS(Field_t &rho) {
+void FFTPoissonSolver::computePotentialDKS(Field_t &/*rho*/) {
 #ifdef OPAL_DKS
     dksbase.syncDevice();
     MPI_Barrier(Ippl::getComm());
diff --git a/src/Solvers/FFTPoissonSolver.h b/src/Solvers/FFTPoissonSolver.h
index 09674bddead8495d28f67a05cd622ba19c69a676..69da242b739ba0ee11134a279f820c931d51e941 100644
--- a/src/Solvers/FFTPoissonSolver.h
+++ b/src/Solvers/FFTPoissonSolver.h
@@ -77,13 +77,13 @@ public:
     /// compute the shifted integrated Green function as described in <A HREF="http://prst-ab.aps.org/abstract/PRSTAB/v9/i4/e044204">Three-dimensional quasistatic model for high brightness beam dynamics simulation</A> by Qiang et al.
     void shiftedIntGreensFunction(double zshift);
 
-    double getXRangeMin(unsigned short level) {return 1.0;}
-    double getXRangeMax(unsigned short level) {return 1.0;}
-    double getYRangeMin(unsigned short level) {return 1.0;}
-    double getYRangeMax(unsigned short level) {return 1.0;}
-    double getZRangeMin(unsigned short level) {return 1.0;}
-    double getZRangeMax(unsigned short level) {return 1.0;}
-    void test(PartBunchBase<double, 3> *bunch) { }
+    double getXRangeMin(unsigned short /*level*/) {return 1.0;}
+    double getXRangeMax(unsigned short /*level*/) {return 1.0;}
+    double getYRangeMin(unsigned short /*level*/) {return 1.0;}
+    double getYRangeMax(unsigned short /*level*/) {return 1.0;}
+    double getZRangeMin(unsigned short /*level*/) {return 1.0;}
+    double getZRangeMax(unsigned short /*level*/) {return 1.0;}
+    void test(PartBunchBase<double, 3> */*bunch*/) { }
 
     Inform &print(Inform &os) const;
 private:
@@ -191,9 +191,4 @@ inline Inform &operator<<(Inform &os, const FFTPoissonSolver &fs) {
 
 
 
-#endif
-
-/***************************************************************************
- * $RCSfile: FFTPoissonSolver.hh,v $   $Author: adelmann $
- * $Revision: 1.1.1.1 $   $Date: 2001/08/08 11:21:48 $
- ***************************************************************************/
\ No newline at end of file
+#endif
\ No newline at end of file
diff --git a/src/Solvers/P3MPoissonSolver.cpp b/src/Solvers/P3MPoissonSolver.cpp
index f3baaed1a831498fb209f1ead4c69df37a339a07..481d1a054c6e2dc4ce99e70533c8fdd61543a1ab 100644
--- a/src/Solvers/P3MPoissonSolver.cpp
+++ b/src/Solvers/P3MPoissonSolver.cpp
@@ -262,7 +262,7 @@ void P3MPoissonSolver::calculatePairForces(PartBunchBase<double, 3> *bunch, doub
 
 }
 
-void P3MPoissonSolver::calculateGridForces(PartBunchBase<double, 3> *bunch, double interaction_radius, double alpha, double eps){
+void P3MPoissonSolver::calculateGridForces(PartBunchBase<double, 3> *bunch, double /*interaction_radius*/, double alpha, double eps){
 
     Inform msg ("calculateGridForces ");
     Vector_t l,h;
@@ -319,7 +319,7 @@ void P3MPoissonSolver::calculateGridForces(PartBunchBase<double, 3> *bunch, doub
 // compute the electric potential from the image charge by solving
 // the Poisson's equation
 
-void P3MPoissonSolver::computePotential(Field_t &rho, Vector_t hr, double zshift) {
+void P3MPoissonSolver::computePotential(Field_t &/*rho*/, Vector_t /*hr*/, double /*zshift*/) {
 
 
 }
@@ -361,7 +361,7 @@ void P3MPoissonSolver::applyConstantFocusing(PartBunchBase<double, 3> *bunch, do
 
 // given a charge-density field rho and a set of mesh spacings hr,
 // compute the scalar potential in open space
-void P3MPoissonSolver::computePotential(Field_t &rho, Vector_t hr) {
+void P3MPoissonSolver::computePotential(Field_t &/*rho*/, Vector_t /*hr*/) {
 
 
 }
diff --git a/src/Solvers/P3MPoissonSolver.h b/src/Solvers/P3MPoissonSolver.h
index c40c36c9cdad5d5db901945b0636c3e6fd572ce2..10fc84f2547795170e2b8d9f83c2cd29776495b9 100644
--- a/src/Solvers/P3MPoissonSolver.h
+++ b/src/Solvers/P3MPoissonSolver.h
@@ -62,12 +62,12 @@ public:
     void applyConstantFocusing(PartBunchBase<double, 3> *bunch, double f, double r);
     void test(PartBunchBase<double, 3> *bunch);
 
-    double getXRangeMin(unsigned short level) {return 1.0;}
-    double getXRangeMax(unsigned short level) {return 1.0;}
-    double getYRangeMin(unsigned short level) {return 1.0;}
-    double getYRangeMax(unsigned short level) {return 1.0;}
-    double getZRangeMin(unsigned short level) {return 1.0;}
-    double getZRangeMax(unsigned short level) {return 1.0;}
+    double getXRangeMin(unsigned short /*level*/) {return 1.0;}
+    double getXRangeMax(unsigned short /*level*/) {return 1.0;}
+    double getYRangeMin(unsigned short /*level*/) {return 1.0;}
+    double getYRangeMax(unsigned short /*level*/) {return 1.0;}
+    double getZRangeMin(unsigned short /*level*/) {return 1.0;}
+    double getZRangeMax(unsigned short /*level*/) {return 1.0;}
 
     void computeAvgSpaceChargeForces(PartBunchBase<double, 3> *bunch);
     void compute_temperature(PartBunchBase<double, 3> *bunch);
diff --git a/src/Solvers/PoissonSolver.h b/src/Solvers/PoissonSolver.h
index 4b79274c16ce743ea654698157285783e165e509..cfd04b63202b9531a74cce5fe5b476bcaa3767b7 100644
--- a/src/Solvers/PoissonSolver.h
+++ b/src/Solvers/PoissonSolver.h
@@ -60,8 +60,7 @@ public:
 
 };
 
-inline Inform &operator<<(Inform &os, const PoissonSolver &fs) {
+inline Inform &operator<<(Inform &os, const PoissonSolver &/*fs*/) {
     return os << "";
 }
-
 #endif
diff --git a/src/Steppers/BorisPusher.h b/src/Steppers/BorisPusher.h
index ccb42a02c81abf8d5c212f97badb18d7c757394b..cec6a5f886ee1d86e6519f1a435d47e1353b6d5d 100644
--- a/src/Steppers/BorisPusher.h
+++ b/src/Steppers/BorisPusher.h
@@ -53,7 +53,7 @@ inline void BorisPusher::kick(const Vector_t &R, Vector_t &P,
 }
 
 
-inline void BorisPusher::kick(const Vector_t &R, Vector_t &P,
+inline void BorisPusher::kick(const Vector_t &/*R*/, Vector_t &P,
                               const Vector_t &Ef, const Vector_t &Bf,
                               const double &dt, const double &mass,
                               const double &charge) const
diff --git a/src/Structure/BoundaryGeometry.cpp b/src/Structure/BoundaryGeometry.cpp
index 5d9505908af283b93dae315fcd7b5fe4d84c8db4..f656386c329ec4e1d83b88f342c3b06511bdc5a2 100644
--- a/src/Structure/BoundaryGeometry.cpp
+++ b/src/Structure/BoundaryGeometry.cpp
@@ -860,7 +860,7 @@ BoundaryGeometry* BoundaryGeometry::find (const std::string& name) {
     return geom;
 }
 
-void BoundaryGeometry::updateElement (ElementBase* element) {
+void BoundaryGeometry::updateElement (ElementBase* /*element*/) {
 }
 
 int
@@ -2083,7 +2083,7 @@ BoundaryGeometry::printInfo (Inform& os) const {
    non secondary emission version.
  */
 int BoundaryGeometry::emitSecondaryNone (
-    const Vector_t& intecoords,
+    const Vector_t& /*intecoords*/,
     const int& triId
     ) {
     short BGtag = TriBGphysicstag_m[triId];
diff --git a/src/Structure/H5Writer.cpp b/src/Structure/H5Writer.cpp
index 621fcf4512ad20ca7204549cc9748bcec5b6a457..f84f098bbffdaf7cd10e207efb5467207fc55091 100644
--- a/src/Structure/H5Writer.cpp
+++ b/src/Structure/H5Writer.cpp
@@ -27,10 +27,10 @@ void H5Writer::writePhaseSpace(PartBunchBase<double, 3> *beam, Vector_t FDext[])
 }
 
 
-int H5Writer::writePhaseSpace(PartBunchBase<double, 3> *beam, Vector_t FDext[], double meanEnergy,
+int H5Writer::writePhaseSpace(PartBunchBase<double, 3> *beam, Vector_t FDext[], double /*meanEnergy*/,
                               double refPr, double refPt, double refPz,
                               double refR, double refTheta, double refZ,
-                              double azimuth, double elevation, bool local) {
+                              double azimuth, double elevation, bool /*local*/) {
 
     if (beam->getTotalNum() < 3) return -1; // in single particle mode and tune calculation (2 particles) we do not need h5 data
 
@@ -71,7 +71,7 @@ int H5Writer::writePhaseSpace(PartBunchBase<double, 3> *beam, Vector_t FDext[],
 }
 
 
-void H5Writer::writePhaseSpace(EnvelopeBunch &beam, Vector_t FDext[],
+void H5Writer::writePhaseSpace(EnvelopeBunch &/*beam*/, Vector_t FDext[],
                                double sposHead, double sposRef,
                                double sposTail)
 {
diff --git a/src/Structure/LBalWriter.cpp b/src/Structure/LBalWriter.cpp
index e89ca9bd44415b7f3d6f68efb9a3d3f5fc6dcaa3..e36db309c4c9ed712054328bbf1c407f439ed5d4 100644
--- a/src/Structure/LBalWriter.cpp
+++ b/src/Structure/LBalWriter.cpp
@@ -15,7 +15,7 @@ LBalWriter::LBalWriter(const std::string& fname, bool restart)
 { }
 
 
-void LBalWriter::fillHeader(PartBunchBase<double, 3> *beam) {
+void LBalWriter::fillHeader(PartBunchBase<double, 3> */*beam*/) {
 
     if (this->hasColumns()) {
         return;
diff --git a/src/Structure/MultiBunchDump.cpp b/src/Structure/MultiBunchDump.cpp
index d3ceab1953e22a145d71787eb4c00a5f5dcd04cc..2c4487f891aecbdef758fe9f554bf56997f9b020 100644
--- a/src/Structure/MultiBunchDump.cpp
+++ b/src/Structure/MultiBunchDump.cpp
@@ -73,7 +73,7 @@ void MultiBunchDump::fillHeader() {
 }
 
 
-void MultiBunchDump::write(PartBunchBase<double, 3>* beam,
+void MultiBunchDump::write(PartBunchBase<double, 3>* /*beam*/,
                            const beaminfo_t& binfo) {
 
     if ( Ippl::myNode() > 0)
diff --git a/src/Structure/SDDSWriter.h b/src/Structure/SDDSWriter.h
index 31d581d5d246b1fc466f04685347ff487aa97147..2e77c670322c1b55872352af586a76d3821222dd 100644
--- a/src/Structure/SDDSWriter.h
+++ b/src/Structure/SDDSWriter.h
@@ -46,7 +46,7 @@ public:
 
     virtual ~SDDSWriter() { };
 
-    virtual void write(PartBunchBase<double, 3>* beam) { };
+    virtual void write(PartBunchBase<double, 3>* /*beam*/) { };
 
     /** \brief
      *  delete the last 'numberOfLines' lines of the file 'fileName'
diff --git a/src/Structure/SecondaryEmissionPhysics.cpp b/src/Structure/SecondaryEmissionPhysics.cpp
index 31d10e32bc71f6e32b4df0bccd50ed1af7c029d9..c55f63cc49b4efab41f838c229971dffe80327af 100644
--- a/src/Structure/SecondaryEmissionPhysics.cpp
+++ b/src/Structure/SecondaryEmissionPhysics.cpp
@@ -692,7 +692,7 @@ void SecondaryEmissionPhysics::calcEmiNum(const double incEnergy,
 
 }
 
-void SecondaryEmissionPhysics::calcEmiNum(const double incEnergy, const double cosTheta, const double *prob, int &seNum) {// For Furman-Pivi's model
+void SecondaryEmissionPhysics::calcEmiNum(const double /*incEnergy*/, const double /*cosTheta*/, const double *prob, int &seNum) {// For Furman-Pivi's model
 
     double prob_max = 0.0;
     // Acceptance-rejection methods to generate random number with specified distribution.
diff --git a/src/Structure/StatWriter.cpp b/src/Structure/StatWriter.cpp
index 814100314c84b4b88997c6bec2829cabf6e368ad..456192a6f8a1344c1785d794c97d3027bb061ee6 100644
--- a/src/Structure/StatWriter.cpp
+++ b/src/Structure/StatWriter.cpp
@@ -241,7 +241,7 @@ void StatWriter::write(PartBunchBase<double, 3> *beam, Vector_t FDext[],
 
 
 void StatWriter::write(EnvelopeBunch &beam, Vector_t FDext[],
-                       double sposHead, double sposRef, double sposTail)
+                       double /*sposHead*/, double sposRef, double /*sposTail*/)
 {
     //FIXME https://gitlab.psi.ch/OPAL/src/issues/245
 
diff --git a/src/Tables/Eigen.cpp b/src/Tables/Eigen.cpp
index ebc029824b5e70666213dda83b922042935b5f5d..c5aea7ea70cdf6fc62c865118026b5a338e65091 100644
--- a/src/Tables/Eigen.cpp
+++ b/src/Tables/Eigen.cpp
@@ -151,4 +151,4 @@ void Eigen::formatPrint(std::ostream &os, const Twiss *table) const {
     // Restore the formatting flags.
     os.precision(old_prec);
     os.setf(std::ios::fixed, std::ios::floatfield);
-}
\ No newline at end of file
+}
diff --git a/src/Tables/Survey.cpp b/src/Tables/Survey.cpp
index dcc2d97736c7fa94a89df496e9647d4e329929e6..a165b907fad5e577e2a246ee9bc5f73d4552517f 100644
--- a/src/Tables/Survey.cpp
+++ b/src/Tables/Survey.cpp
@@ -589,7 +589,7 @@ void Survey::printTable(std::ostream &os, const CellArray &cells) const {
 }
 
 
-double Survey::getS(const Survey::Row &row, int, int) const {
+double Survey::getS(const Survey::Row &/*row*/, int, int) const {
     return current->getS();
 }
 
diff --git a/src/opal.cpp b/src/opal.cpp
index 20421e10e1d1a0af372c2badcaff09e89c855375..de559f1afd55d67917b3251fcc6a235e3b2885fb 100644
--- a/src/opal.cpp
+++ b/src/opal.cpp
@@ -22,12 +22,8 @@ extern Inform *gmsg;
 int run_opal(char *arg[], std::string inputfile, int restartStep,
              int infoLevel, int warnLevel, MPI_Comm comm)
 {
+    (void)arg; // @FIXME@ can this argument be removed?
     std::string::size_type startExtension    = inputfile.find_last_of('.');
-    // std::string::size_type startRelativePath = inputfile.find_last_of('/');
-    // std::string relativePath("");
-    // if (startRelativePath != std::string::npos) {
-    //     relativePath = inputfile.substr(0, startRelativePath + 1);
-    // }
     std::string outputFileName = inputfile.substr(0,startExtension) + ".out";
     std::ofstream output(outputFileName.c_str());