Commit e3bb0d2a authored by Marcus Mohr's avatar Marcus Mohr
Browse files

Comments out extern template class statements

The commit comments out the following two statements
   extern template class VertexDoFFunction< double >;
   extern template class EdgeDoFFunction< double >;
in the corresponding header files of the two classes. For some
reason that is currently totally obscure to me I get errors of
the following form when the two statements are active and the
cpp files of the classes are compiled:

VertexDoFFunction.cpp:1765:95: error: specialization of ‘void hyteg::vertexdof::VertexDoFFunction<VType>::invertElementwise(walberla::uint_t, hyteg::DoFType) const [with ValueType = double; walberla::uint_t = long unsigned int]’ after instantiation
 void VertexDoFFunction< real_t >::invertElementwise( const uint_t level, const DoFType flag ) const

This happens with GCC 8.3. The error seems strange to me as my
understanding of the statements is that they suppress instantiation.
parent c9b0b7f4
Pipeline #20648 failed with stages
in 56 minutes and 58 seconds
......@@ -297,6 +297,6 @@ class EdgeDoFFunction : public Function< EdgeDoFFunction< ValueType > >
friend class P2Function< ValueType >;
};
extern template class EdgeDoFFunction< double >;
// extern template class EdgeDoFFunction< double >;
extern template class EdgeDoFFunction< int >;
} // namespace hyteg
......@@ -326,7 +326,7 @@ inline void projectMean( const VertexDoFFunction< real_t >& pressure, const uint
pressure.add( -sum / real_c( numGlobalVertices ), level, All );
}
extern template class VertexDoFFunction< double >;
// extern template class VertexDoFFunction< double >;
extern template class VertexDoFFunction< int >;
} // namespace vertexdof
......
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