]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Work around another bug in icc with static member templates of
authordeal <deal@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 4 Mar 2004 16:22:26 +0000 (16:22 +0000)
committerdeal <deal@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 4 Mar 2004 16:22:26 +0000 (16:22 +0000)
template classes.

git-svn-id: https://svn.dealii.org/trunk@8660 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/source/numerics/error_estimator.cc

index ee1e839af8708078cd3a9014d4c5251035e8e245..5d218ad2a094ee13ec0b0432572dc724bac75d63 100644 (file)
@@ -648,10 +648,25 @@ KellyErrorEstimator<dim>::estimate (const Mapping<dim>                  &mapping
   
                                   // split all cells into threads if
                                   // multithreading is used and run
-                                  // the whole thing
+                                  // the whole thing. use the
+                                  // function pointer variable to
+                                  // work around another nasty bug in
+                                  // icc7
   Threads::ThreadGroup<> threads;
+  void (*estimate_some_ptr) (const Mapping<dim>                  &,
+                            const DoFHandler<dim>               &,
+                            const Quadrature<dim-1>             &,
+                            const typename FunctionMap<dim>::type &,
+                            const std::vector<const InputVector *> &,
+                            const std::vector<bool>               &,
+                            const Function<dim>                 *,
+                            const std::pair<unsigned int, unsigned int>,
+                            FaceIntegrals                       &,
+                            PerThreadData                       &)
+    = &KellyErrorEstimator<dim>::template estimate_some<InputVector>;
+  
   for (unsigned int i=0; i<n_threads; ++i)
-    threads += Threads::spawn (&KellyErrorEstimator<dim>::template estimate_some<InputVector>)
+    threads += Threads::spawn (estimate_some_ptr)
                (mapping, dof_handler,
                 quadrature, neumann_bc, solutions,
                 component_mask, coefficients,

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.