]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Remove an obsolete test
authormaier <maier@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 25 Sep 2012 19:35:52 +0000 (19:35 +0000)
committermaier <maier@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 25 Sep 2012 19:35:52 +0000 (19:35 +0000)
git-svn-id: https://svn.dealii.org/branches/branch_cmake@26738 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/cmake/check/check_for_compiler_bugs.cmake
deal.II/include/deal.II/base/config.h.in
deal.II/source/lac/vector.inst.in

index 3ec5d882f75eb063e21253ae8c5d83c113b00143..7beb7b35f162380774b3be61b74be6c602daf043 100644 (file)
@@ -9,47 +9,6 @@
 
 
 
-#
-# TODO: Obsolete. Remove and clean source.
-# Versions of GCC before 3.0 had a problem with the explicit
-# instantiation of member templates when the member was in fact
-# an operator. In that case, they needed the "template" keyword,
-# which is actually not allowed at this place. Test case is
-#
-# struct X
-# {
-#     template <typename T2>
-#     X operator = (T2 &) { return X(); };
-# };
-#
-# template X X::operator=<float> (float &);
-#
-# The compiler only groks this if the "operator=" is prepended
-# by "template". We detect this, and either set the
-# DEAL_II_MEMBER_OP_TEMPLATE_INST to "template" or nothing, so
-# that it gets expanded to the right string needed in this place.
-#
-CHECK_CXX_SOURCE_COMPILES(
-  "
-  struct X
-  {
-      template <typename T2>
-      X operator = (T2 &) { return X(); }
-  };
-
-  template X X::operator=<float> (float &);
-  int main(){return 0;}
-  "
-  DEAL_II_MEMBER_OP_TEMPLATE_INST_OK)
-
-IF(DEAL_II_MEMBER_OP_TEMPLATE_INST_OK)
-  SET(DEAL_II_MEMBER_OP_TEMPLATE_INST "")
-ELSE()
-  SET(DEAL_II_MEMBER_OP_TEMPLATE_INST "template")
-ENDIF()
-
-
-
 #
 # Some compiler versions, notably ICC, have trouble with the
 # following code in which we explicitly call a destructor.
index 5298078b67cca1fef1218977c51495ec0283dc1a..406374cef4296104c54612358777a7a39c9ddb39 100644 (file)
  * Configured in check_for_compiler_bugs: *
  ******************************************/
 
-/* Define if we have to work around a bug in gcc with explicitly
- * instantiating template member operators. See the aclocal.m4 file in the
- * top-level directory for a description of this bug.
- */
-#define DEAL_II_MEMBER_OP_TEMPLATE_INST @DEAL_II_MEMBER_OP_TEMPLATE_INST@
-
 /* Define if we have to work around a bug where the compiler doesn't accept
  * an explicit destructor call. See the aclocal.m4 file in the top-level
  * directory for a description of this bug.
index 77dea0609bd5a1368740de6416e9eb396d4a781d..2ac1a71afb636254146fd067b1e9f95c594b45c3 100644 (file)
@@ -21,12 +21,10 @@ for (S1, S2 : REAL_SCALARS)
   {
     template
       bool
-      Vector<S1>::DEAL_II_MEMBER_OP_TEMPLATE_INST
-      operator==<S2>(const Vector<S2>&) const;
+      Vector<S1>::operator==<S2>(const Vector<S2>&) const;
     template
       S1
-      Vector<S1>::DEAL_II_MEMBER_OP_TEMPLATE_INST
-      operator*<S2>(const Vector<S2>&) const;
+      Vector<S1>::operator*<S2>(const Vector<S2>&) const;
     template
       void Vector<S1>::reinit<S2>(const Vector<S2>&, const bool);
   }
@@ -42,12 +40,10 @@ for (S1, S2 : COMPLEX_SCALARS)
   {
     template
       bool
-      Vector<S1>::DEAL_II_MEMBER_OP_TEMPLATE_INST
-      operator==<S2>(const Vector<S2>&) const;
+      Vector<S1>::operator==<S2>(const Vector<S2>&) const;
     template
       S1
-      Vector<S1>::DEAL_II_MEMBER_OP_TEMPLATE_INST
-      operator*<S2>(const Vector<S2>&) const;
+      Vector<S1>::operator*<S2>(const Vector<S2>&) const;
     template
       void Vector<S1>::reinit<S2>(const Vector<S2>&, const bool);
   }

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.