Commit e3647392 authored by Lukas Riedel's avatar Lukas Riedel 📝

Merge branch 'fix-debug-build-not-compiling-with-clang' into 'master'

Add explicit compiler specification to debug-clang build

See merge request !57
parents 9a8bf283 782804d8
...@@ -113,6 +113,16 @@ build:debug: &debug ...@@ -113,6 +113,16 @@ build:debug: &debug
build:debug-clang: build:debug-clang:
<<: *debug <<: *debug
image: ${DUNE_ENV_IMAGE}-clang image: ${DUNE_ENV_IMAGE}-clang
script:
- CMAKE_FLAGS="
$CMAKE_FLAGS
-DCMAKE_BUILD_TYPE=Debug
-DCMAKE_C_COMPILER=clang
-DCMAKE_CXX_COMPILER=clang++
-DCMAKE_CXX_FLAGS_DEBUG='-Werror'"
$DUNECONTROL --only=dorie configure
- MAKE_FLAGS="$MAKE_FLAGS"
$DUNECONTROL --only=dorie make dorie_mass_conservation
# --- Tests --- # --- Tests ---
......
...@@ -19,6 +19,9 @@ ...@@ -19,6 +19,9 @@
// Do not treat DUNE warnings as errors // Do not treat DUNE warnings as errors
#pragma GCC diagnostic push #pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wall" #pragma GCC diagnostic ignored "-Wall"
#if __clang__
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#endif
#if __GNUC__ > 5 #if __GNUC__ > 5
#pragma GCC diagnostic ignored "-Wmisleading-indentation" #pragma GCC diagnostic ignored "-Wmisleading-indentation"
#endif #endif
......
...@@ -27,7 +27,10 @@ namespace Dorie{ ...@@ -27,7 +27,10 @@ namespace Dorie{
public: public:
/// Empty Constructor /// Empty Constructor
BCReadoutInterface () {} BCReadoutInterface () = default;
/// Empty Destructor
virtual ~BCReadoutInterface () = default;
virtual BoundaryCondition::Type getBCtype (const Domain& xGlobal, const RF& time) const = 0; virtual BoundaryCondition::Type getBCtype (const Domain& xGlobal, const RF& time) const = 0;
......
...@@ -108,7 +108,7 @@ namespace Dune { ...@@ -108,7 +108,7 @@ namespace Dune {
private: private:
void update_pos(const Domain& pos) void update_pos(const Domain& pos) override
{ {
Domain unit_pos; Domain unit_pos;
unit_pos[0] = std::max(N_RF[0] * pos[0] / extensions[0] - 0.5, 0.0) + eps; unit_pos[0] = std::max(N_RF[0] * pos[0] / extensions[0] - 0.5, 0.0) + eps;
...@@ -120,7 +120,7 @@ namespace Dune { ...@@ -120,7 +120,7 @@ namespace Dune {
ipos = ipos0 + ipos1*N_RF[0]; ipos = ipos0 + ipos1*N_RF[0];
} }
RF field_value(const Array& field) const RF field_value(const Array& field) const override
{ {
return field[ipos]; return field[ipos];
} }
...@@ -151,7 +151,7 @@ namespace Dune { ...@@ -151,7 +151,7 @@ namespace Dune {
private: private:
void update_pos(const Domain& pos) void update_pos(const Domain& pos) override
{ {
Domain unit_pos; Domain unit_pos;
unit_pos[0] = std::max(N_RF[0] * pos[0] / extensions[0] - 0.5, 0.0) + eps; unit_pos[0] = std::max(N_RF[0] * pos[0] / extensions[0] - 0.5, 0.0) + eps;
...@@ -165,7 +165,7 @@ namespace Dune { ...@@ -165,7 +165,7 @@ namespace Dune {
ipos = ipos0 + ipos1*N_RF[0] + ipos2*N_RF[0]*N_RF[1]; ipos = ipos0 + ipos1*N_RF[0] + ipos2*N_RF[0]*N_RF[1];
} }
RF field_value(const Array& field) const RF field_value(const Array& field) const override
{ {
return field[ipos]; return field[ipos];
} }
...@@ -208,7 +208,7 @@ namespace Dune { ...@@ -208,7 +208,7 @@ namespace Dune {
private: private:
void update_pos(const Domain& pos) void update_pos(const Domain& pos) override
{ {
Domain unit_pos; Domain unit_pos;
unit_pos[0] = std::max(N_RF[0] * pos[0] / extensions[0] - 0.5, 0.0) + eps; unit_pos[0] = std::max(N_RF[0] * pos[0] / extensions[0] - 0.5, 0.0) + eps;
...@@ -228,7 +228,7 @@ namespace Dune { ...@@ -228,7 +228,7 @@ namespace Dune {
dx[1] = ipos1_y - unit_pos[1]; dx[1] = ipos1_y - unit_pos[1];
} }
RF field_value(const Array& field) const RF field_value(const Array& field) const override
{ {
return field[ipos[0][0]] * dx[0] * dx[1] return field[ipos[0][0]] * dx[0] * dx[1]
+ field[ipos[0][1]] * (1-dx[0]) * dx[1] + field[ipos[0][1]] * (1-dx[0]) * dx[1]
...@@ -265,7 +265,7 @@ namespace Dune { ...@@ -265,7 +265,7 @@ namespace Dune {
} }
private: private:
void update_pos(const Domain& pos) void update_pos(const Domain& pos) override
{ {
Domain unit_pos; Domain unit_pos;
...@@ -294,7 +294,7 @@ namespace Dune { ...@@ -294,7 +294,7 @@ namespace Dune {
dx[2] = ipos1_z - unit_pos[2]; dx[2] = ipos1_z - unit_pos[2];
} }
RF field_value(const Array& field) const RF field_value(const Array& field) const override
{ {
RF c00 = field[ipos[0][0][0]] * dx[0] + field[ipos[0][0][1]] * (1-dx[0]); RF c00 = field[ipos[0][0][0]] * dx[0] + field[ipos[0][0][1]] * (1-dx[0]);
RF c01 = field[ipos[1][0][0]] * dx[0] + field[ipos[1][0][1]] * (1-dx[0]); RF c01 = field[ipos[1][0][0]] * dx[0] + field[ipos[1][0][1]] * (1-dx[0]);
...@@ -349,7 +349,7 @@ namespace Dune { ...@@ -349,7 +349,7 @@ namespace Dune {
private: private:
// Implementation inspired by http://www.paulinternet.nl/?page=bicubic // Implementation inspired by http://www.paulinternet.nl/?page=bicubic
void update_pos(const Domain& pos) void update_pos(const Domain& pos) override
{ {
Domain unit_pos; Domain unit_pos;
unit_pos[0] = std::max(N_RF[0] * pos[0] / extensions[0] - 0.5, 0.0) + eps; unit_pos[0] = std::max(N_RF[0] * pos[0] / extensions[0] - 0.5, 0.0) + eps;
...@@ -374,7 +374,7 @@ namespace Dune { ...@@ -374,7 +374,7 @@ namespace Dune {
dx[1] = unit_pos[1] - ipos_y[1]; dx[1] = unit_pos[1] - ipos_y[1];
} }
RF field_value(const Array& field) const RF field_value(const Array& field) const override
{ {
MultiFieldVector p1; MultiFieldVector p1;
for(Index i=0;i<4;i++) for(Index i=0;i<4;i++)
...@@ -431,7 +431,7 @@ namespace Dune { ...@@ -431,7 +431,7 @@ namespace Dune {
private: private:
// Implementation inspired by http://www.paulinternet.nl/?page=bicubic // Implementation inspired by http://www.paulinternet.nl/?page=bicubic
void update_pos(const Domain& pos) void update_pos(const Domain& pos) override
{ {
Domain unit_pos; Domain unit_pos;
unit_pos[0] = std::max(N_RF[0] * pos[0] / extensions[0] - 0.5, 0.0) + eps; unit_pos[0] = std::max(N_RF[0] * pos[0] / extensions[0] - 0.5, 0.0) + eps;
...@@ -462,7 +462,7 @@ namespace Dune { ...@@ -462,7 +462,7 @@ namespace Dune {
dx[2] = unit_pos[2] - ipos_z[1]; dx[2] = unit_pos[2] - ipos_z[1];
} }
RF field_value(const Array& field) const RF field_value(const Array& field) const override
{ {
MultiFieldVector3D p1; MultiFieldVector3D p1;
for(Index i=0;i<4;i++) for(Index i=0;i<4;i++)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment