From: David Wells Date: Fri, 24 Jul 2015 18:02:36 +0000 (-0400) Subject: Remove step-14 workaround for an old GCC version. X-Git-Tag: v8.4.0-rc2~644^2~2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9f59f38352d628fd3e81e930cc73fbc1c7923fe2;p=dealii.git Remove step-14 workaround for an old GCC version. I believe this was a 2.96 issue that has long since been fixed. --- diff --git a/examples/step-14/step-14.cc b/examples/step-14/step-14.cc index 7a283c0268..c34c89509a 100644 --- a/examples/step-14/step-14.cc +++ b/examples/step-14/step-14.cc @@ -750,34 +750,12 @@ namespace Step14 // @sect4{The PrimalSolver class} // The PrimalSolver class is also mostly unchanged except for - // overloading the functions solve_problem, - // n_dofs, and postprocess of the base class, - // and implementing the output_solution function. These - // overloaded functions do nothing particular besides calling the - // functions of the base class -- that seems superfluous, but works around - // a bug in a popular compiler which requires us to write such functions - // for the following scenario: Besides the PrimalSolver - // class, we will have a DualSolver, both derived from - // Solver. We will then have a final classes which derived - // from these two, which will then have two instances of the - // Solver class as its base classes. If we want, for example, - // the number of degrees of freedom of the primal solver, we would have to - // indicate this like so: PrimalSolver::n_dofs(). However, - // the compiler does not accept this since the n_dofs - // function is actually from a base class of the PrimalSolver - // class, so we have to inject the name from the base to the derived class - // using these additional functions. - // - // Regarding the implementation of the output_solution - // function, we keep the GlobalRefinement and - // RefinementKelly classes in this program, and they can then - // rely on the default implementation of this function which simply - // outputs the primal solution. The class implementing dual weighted error - // estimators will overload this function itself, to also output the dual - // solution. - // - // Except for this, the class is unchanged with respect to the previous - // example. + // implementing the output_solution function. We keep the + // GlobalRefinement and RefinementKelly classes + // in this program, and they can then rely on the default implementation + // of this function which simply outputs the primal solution. The class + // implementing dual weighted error estimators will overload this function + // itself, to also output the dual solution. template class PrimalSolver : public Solver { @@ -789,15 +767,6 @@ namespace Step14 const Function &rhs_function, const Function &boundary_values); - virtual - void solve_problem (); - - virtual - unsigned int n_dofs () const; - - virtual - void postprocess (const Evaluation::EvaluationBase &postprocessor) const; - virtual void output_solution () const; @@ -825,31 +794,6 @@ namespace Step14 {} - template - void - PrimalSolver::solve_problem () - { - Solver::solve_problem (); - } - - - - template - unsigned int - PrimalSolver::n_dofs() const - { - return Solver::n_dofs(); - } - - - template - void - PrimalSolver:: - postprocess (const Evaluation::EvaluationBase &postprocessor) const - { - Solver::postprocess(postprocessor); - } - template void @@ -1807,18 +1751,6 @@ namespace Step14 const Quadrature &face_quadrature, const DualFunctional::DualFunctionalBase &dual_functional); - virtual - void - solve_problem (); - - virtual - unsigned int - n_dofs () const; - - virtual - void - postprocess (const Evaluation::EvaluationBase &postprocessor) const; - protected: const SmartPointer > dual_functional; virtual void assemble_rhs (Vector &rhs) const; @@ -1845,32 +1777,6 @@ namespace Step14 {} - template - void - DualSolver::solve_problem () - { - Solver::solve_problem (); - } - - - - template - unsigned int - DualSolver::n_dofs() const - { - return Solver::n_dofs(); - } - - - template - void - DualSolver:: - postprocess (const Evaluation::EvaluationBase &postprocessor) const - { - Solver::postprocess(postprocessor); - } - - template void