From 525325b34839c8f20844e2d75cd26da907c5133d Mon Sep 17 00:00:00 2001
From: Michael Kuron <m.kuron@gmx.de>
Date: Wed, 3 Mar 2021 22:25:57 +0100
Subject: [PATCH] make FieldTest compile

---
 src/field/Field.h           |  5 -----
 src/field/GhostLayerField.h | 13 +++++++++----
 tests/field/FieldTest.cpp   |  6 +++---
 3 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/src/field/Field.h b/src/field/Field.h
index 17d59c0d0..847b42abe 100644
--- a/src/field/Field.h
+++ b/src/field/Field.h
@@ -418,11 +418,6 @@ class Field<T, fSize_> : public Field<T> {
    {
       Field<T>::resize(xSize, ySize, zSize, fSize_);
    }
-
-   template<typename ...Args>
-   Field<T, fSize_> * getSlicedField( const CellInterval & interval ) const;
-
-   FlattenedField * flattenedShallowCopy() const;
 };
 
 
diff --git a/src/field/GhostLayerField.h b/src/field/GhostLayerField.h
index e47f25824..151892831 100644
--- a/src/field/GhostLayerField.h
+++ b/src/field/GhostLayerField.h
@@ -112,7 +112,7 @@ namespace field {
       inline GhostLayerField<T> * clone()              const;
       inline GhostLayerField<T> * cloneUninitialized() const;
       inline GhostLayerField<T> * cloneShallowCopy()   const;
-      inline FlattenedField * flattenedShallowCopy() const;
+      inline FlattenedField * flattenedShallowCopy() const override;
       //@}
       //****************************************************************************************************************
 
@@ -201,7 +201,7 @@ namespace field {
       //** Slicing  ****************************************************************************************************
       /*! \name Slicing */
       //@{
-      GhostLayerField<T> * getSlicedField( const CellInterval & interval ) const;
+      GhostLayerField<T> * getSlicedField( const CellInterval & interval ) const override;
       void slice           ( const CellInterval & interval ) override;
       void shiftCoordinates( cell_idx_t cx, cell_idx_t cy, cell_idx_t cz ) override;
       //@}
@@ -228,6 +228,10 @@ namespace field {
       friend class GhostLayerField;
    };
 
+#ifdef WALBERLA_CXX_COMPILER_IS_CLANG
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wsign-conversion"
+#endif
    template<typename T, uint_t fSize_>
    class GhostLayerField<T, fSize_> : public GhostLayerField<T> {
     public:
@@ -256,9 +260,10 @@ namespace field {
       {
          GhostLayerField<T>::resize(xSize, ySize, zSize, fSize_);
       }
-
-      FlattenedField * flattenedShallowCopy() const;
    };
+#ifdef WALBERLA_CXX_COMPILER_IS_CLANG
+#pragma clang diagnostic pop
+#endif
 
 } // namespace field
 } // namespace walberla
diff --git a/tests/field/FieldTest.cpp b/tests/field/FieldTest.cpp
index 08d36fc30..8b0542a96 100644
--- a/tests/field/FieldTest.cpp
+++ b/tests/field/FieldTest.cpp
@@ -387,7 +387,7 @@ void sliceTest(field::Layout layout)
 
 
 
-   auto sliced = shared_ptr<Field<int,fSize> > ( field.getSlicedField(sliceInterval) );
+   auto sliced = field.getSlicedField(sliceInterval);
 
    WALBERLA_CHECK_EQUAL ( sliced->xSize(), sliceInterval.xSize() );
    WALBERLA_CHECK_EQUAL ( sliced->ySize(), sliceInterval.ySize() );
@@ -592,7 +592,7 @@ void flattenTest()
                   field( x,y,z,f )[g] = val;
                }
 
-   shared_ptr<Field<uint_t, 3*fSize>> flattened(field.flattenedShallowCopy());
+   auto flattened(field.flattenedShallowCopy());
 
    Field<uint_t, 3*fSize> cmp ( 2,2,1 );
    WALBERLA_CHECK_EQUAL(cmp.xSize(), flattened->xSize());
@@ -638,7 +638,7 @@ void ghostFlattenTest()
                   field( x,y,z,f )[g] = val;
                }
 
-   shared_ptr<GhostLayerField<uint_t, 3*fSize>> flattened(field.flattenedShallowCopy());
+   auto flattened(field.flattenedShallowCopy());
 
    GhostLayerField<uint_t, 3*fSize> cmp ( 2,2,1, 1 );
    WALBERLA_CHECK_EQUAL(cmp.xSize(), flattened->xSize());
-- 
GitLab