Skip to content

Fix compiler errors on ARCHER2 with PrgEnv-cray

Daniel Lindblad requested to merge dlindbla/nektar:fix/PrgEnv-cray into master

Two changes are proposed in this merge request. These changes are necessary to compile Nektar++ on ARCHER2 using the Cray Programming Environment (PrgEnv-cray)

  1. Mark several classes in Collections as "final". These classes have already been "marked" as final by setting their destructors to final. Because of this, the Cray compiler complains that the classes themselves are not marked as final too (a derived class would have to implement its own destructor). This merge request addresses this issue, and does not change the behaviour of the code in any way. I.e., if there would have been a derived class in the code, the compiler would have complained once the classes were marked as final.

  2. The struct PushBackFunctor class contains a move assignment operator (operator=) which was defined to not do anything. The Cray compiler complained about this. In this merge request, the move assignment operator has been explicitly deleted by using "operator=() delete". This update does not change the behaviour of the code, since the move assignment operator is not used. Note that, if it would have been used before, the compiler would have complained that the operator is now deleted. This does not happen.

Merge request reports