]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Disable the declaration of explicit specializations of member variables if the compil...
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Mon, 6 May 2002 13:32:42 +0000 (13:32 +0000)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Mon, 6 May 2002 13:32:42 +0000 (13:32 +0000)
git-svn-id: https://svn.dealii.org/trunk@5826 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/include/fe/fe_dgp.h
deal.II/deal.II/include/fe/fe_dgq.h
deal.II/deal.II/include/fe/fe_q.h
deal.II/deal.II/include/fe/mapping.h
deal.II/deal.II/include/fe/mapping_q1.h

index 42beadd368629504a3cac6b4d7b0212391281d0f..4dc9e2af9fb906b8e660bdac34bac09543ed85ca 100644 (file)
@@ -322,8 +322,9 @@ class FE_DGP : public FiniteElement<dim>
 };
 
 
-// declaration of explicit specializations
-
+// declaration of explicit specializations of member variables, if the
+// compiler allows us to do that (the standard says we must)
+#ifndef DEAL_II_MEMBER_VAR_SPECIALIZATION_BUG
 template <> 
 const double * const FE_DGP<1>::Matrices::embedding[][GeometryInfo<1>::children_per_cell];
 
@@ -359,6 +360,6 @@ const double * const FE_DGP<3>::Matrices::projection_matrices[][GeometryInfo<3>:
 
 template <>
 const unsigned int FE_DGP<3>::Matrices::n_projection_matrices;
-
+#endif
 
 #endif
index 66d3fe65a7c894c7e0dddf3f89ca80236bc0154c..d452fa0276739945d7646c4879060140161642bc 100644 (file)
@@ -351,8 +351,9 @@ class FE_DGQ : public FiniteElement<dim>
 };
 
 
-// declaration of explicit specializations
-
+// declaration of explicit specializations of member variables, if the
+// compiler allows us to do that (the standard says we must)
+#ifndef DEAL_II_MEMBER_VAR_SPECIALIZATION_BUG
 template <> 
 const double * const FE_DGQ<1>::Matrices::embedding[];
 
@@ -388,6 +389,6 @@ const double * const FE_DGQ<3>::Matrices::projection_matrices[];
 
 template <>
 const unsigned int FE_DGQ<3>::Matrices::n_projection_matrices;
-
+#endif
 
 #endif
index 109dd7aadff4ed33281835a231c74d4a046f5d88..d8b9a85d25741cd86d9ce6548d86f24bb8ed00f1 100644 (file)
@@ -662,6 +662,9 @@ template <> void FE_Q<1>::initialize_unit_face_support_points ();
 template <> void FE_Q<1>::face_lexicographic_to_hierarchic_numbering (const unsigned int,
                                                                      std::vector<unsigned int>&);
 
+// declaration of explicit specializations of member variables, if the
+// compiler allows us to do that (the standard says we must)
+#ifndef DEAL_II_MEMBER_VAR_SPECIALIZATION_BUG
 template <> 
 const double * const 
 FE_Q<1>::Matrices::embedding[][GeometryInfo<1>::children_per_cell];
@@ -701,6 +704,6 @@ const double * const FE_Q<3>::Matrices::constraint_matrices[];
 template <>
 const unsigned int FE_Q<3>::Matrices::n_constraint_matrices;
 
-
+#endif
 
 #endif
index a58d78528645586a9cb07aa1b50428fe594dc035..1240e8a7252e93fa4e3f136138fd6cbf68b0b509 100644 (file)
@@ -387,10 +387,13 @@ class Mapping : public Subscriptor
 /* -------------- declaration of explicit specializations ------------- */
 
 
+// declaration of explicit specializations of member variables, if the
+// compiler allows us to do that (the standard says we must)
+#ifndef DEAL_II_MEMBER_VAR_SPECIALIZATION_BUG
 template<> const unsigned int Mapping<1>::normal_directions[2];
 template<> const unsigned int Mapping<2>::normal_directions[4];
 template<> const unsigned int Mapping<3>::normal_directions[6];
-
+#endif
 
 /* ------------------------- inline functions ------------------------- */
 
index 613d549fda8bad3c47e31e92ea1d612e2e4cd416..bbe2afd3781b6f8e1e522c1529bd99eb25c9f01d 100644 (file)
@@ -584,10 +584,13 @@ MappingQ1<dim>::InternalData::derivative (const unsigned int qpoint,
 /* -------------- declaration of explicit specializations ------------- */
 
 
+// declaration of explicit specializations of member variables, if the
+// compiler allows us to do that (the standard says we must)
+#ifndef DEAL_II_MEMBER_VAR_SPECIALIZATION_BUG
 template<> const unsigned int MappingQ1<1>::vertex_mapping[2];
 template<> const unsigned int MappingQ1<2>::vertex_mapping[4];
 template<> const unsigned int MappingQ1<3>::vertex_mapping[8];
-
+#endif
 template<> void MappingQ1<1>::compute_shapes_virtual (
   const std::vector<Point<1> > &unit_points,
   InternalData& data) const;

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.