Incomplete type `Dune::dgf::PeriodicFaceTransformationBlock::AffineTransformation` with clang-15.0.7
Hi all,
building the releases/v2.9
and master
branches with clang 15.0.7
runs into the following error in an ubuntu:lunar
container:
[ 47%] Building CXX object CMakeFiles/dunegrid.dir/dune/grid/io/file/dgfparser/blocks/vertex.cc.o
In file included from /dune/dune-grid/dune/grid/io/file/dgfparser/blocks/periodicfacetrans.cc:7:
In file included from /dune/dune-grid/dune/grid/io/file/dgfparser/blocks/periodicfacetrans.hh:9:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/vector:64:
/usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/stl_vector.h:1143:34: error: arithmetic on a pointer to an incomplete type 'Dune::dgf::PeriodicFaceTransformationBlock::AffineTransformation'
return *(this->_M_impl._M_start + __n);
~~~~~~~~~~~~~~~~~~~~~~ ^
/dune/dune-grid/dune/grid/io/file/dgfparser/blocks/periodicfacetrans.hh:44:32: note: in instantiation of member function 'std::vector<Dune::dgf::PeriodicFaceTransformationBlock::AffineTransformation>::operator[]' requested here
return transformations_[ i ];
^
/dune/dune-grid/dune/grid/io/file/dgfparser/blocks/periodicfacetrans.hh:29:14: note: forward declaration of 'Dune::dgf::PeriodicFaceTransformationBlock::AffineTransformation'
struct AffineTransformation;
^
In file included from /dune/dune-grid/dune/grid/io/file/dgfparser/blocks/periodicfacetrans.cc:7:
In file included from /dune/dune-grid/dune/grid/io/file/dgfparser/blocks/periodicfacetrans.hh:9:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/vector:64:
/usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/stl_vector.h:988:50: error: arithmetic on a pointer to an incomplete type 'Dune::dgf::PeriodicFaceTransformationBlock::AffineTransformation'
{ return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); }
~~~~~~~~~~~~~~~~~~~~~~~ ^
/dune/dune-grid/dune/grid/io/file/dgfparser/blocks/periodicfacetrans.hh:49:33: note: in instantiation of member function 'std::vector<Dune::dgf::PeriodicFaceTransformationBlock::AffineTransformation>::size' requested here
return transformations_.size();
^
/dune/dune-grid/dune/grid/io/file/dgfparser/blocks/periodicfacetrans.hh:29:14: note: forward declaration of 'Dune::dgf::PeriodicFaceTransformationBlock::AffineTransformation'
struct AffineTransformation;
^
[ 52%] Building CXX object CMakeFiles/dunegrid.dir/dune/grid/io/file/dgfparser/dgfparser.cc.o
2 errors generated.
gmake[2]: *** [CMakeFiles/dunegrid.dir/build.make:188: CMakeFiles/dunegrid.dir/dune/grid/io/file/dgfparser/blocks/periodicfacetrans.cc.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
In file included from /dune/dune-grid/dune/grid/io/file/dgfparser/dgfparser.cc:14:
In file included from /dune/dune-geometry/dune/geometry/referenceelements.hh:14:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/vector:64:
/usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/stl_vector.h:1143:34: error: arithmetic on a pointer to an incomplete type 'Dune::dgf::PeriodicFaceTransformationBlock::AffineTransformation'
return *(this->_M_impl._M_start + __n);
~~~~~~~~~~~~~~~~~~~~~~ ^
/dune/dune-grid/dune/grid/io/file/dgfparser/blocks/periodicfacetrans.hh:44:32: note: in instantiation of member function 'std::vector<Dune::dgf::PeriodicFaceTransformationBlock::AffineTransformation>::operator[]' requested here
return transformations_[ i ];
^
/dune/dune-grid/dune/grid/io/file/dgfparser/blocks/periodicfacetrans.hh:29:14: note: forward declaration of 'Dune::dgf::PeriodicFaceTransformationBlock::AffineTransformation'
struct AffineTransformation;
^
In file included from /dune/dune-grid/dune/grid/io/file/dgfparser/dgfparser.cc:14:
In file included from /dune/dune-geometry/dune/geometry/referenceelements.hh:14:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/vector:64:
/usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/stl_vector.h:988:50: error: arithmetic on a pointer to an incomplete type 'Dune::dgf::PeriodicFaceTransformationBlock::AffineTransformation'
{ return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); }
~~~~~~~~~~~~~~~~~~~~~~~ ^
/dune/dune-grid/dune/grid/io/file/dgfparser/blocks/periodicfacetrans.hh:49:33: note: in instantiation of member function 'std::vector<Dune::dgf::PeriodicFaceTransformationBlock::AffineTransformation>::size' requested here
return transformations_.size();
^
/dune/dune-grid/dune/grid/io/file/dgfparser/blocks/periodicfacetrans.hh:29:14: note: forward declaration of 'Dune::dgf::PeriodicFaceTransformationBlock::AffineTransformation'
struct AffineTransformation;
^
2 errors generated.
gmake[2]: *** [CMakeFiles/dunegrid.dir/build.make:258: CMakeFiles/dunegrid.dir/dune/grid/io/file/dgfparser/dgfparser.cc.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:1897: CMakeFiles/dunegrid.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
--- Failed to build dune-grid ---
I'm resulting to an older image at the moment, because I have not much time to debug this. I just wanted to write this issue down somewhere and figured you might want to take a look.
Best, Christian