From: maier Date: Tue, 25 Sep 2012 19:35:52 +0000 (+0000) Subject: Remove an obsolete test X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=71a249ac34840faa72c7bb067161581338693416;p=dealii-svn.git Remove an obsolete test git-svn-id: https://svn.dealii.org/branches/branch_cmake@26738 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/cmake/check/check_for_compiler_bugs.cmake b/deal.II/cmake/check/check_for_compiler_bugs.cmake index 3ec5d882f7..7beb7b35f1 100644 --- a/deal.II/cmake/check/check_for_compiler_bugs.cmake +++ b/deal.II/cmake/check/check_for_compiler_bugs.cmake @@ -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 -# X operator = (T2 &) { return X(); }; -# }; -# -# template X X::operator= (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 - X operator = (T2 &) { return X(); } - }; - - template X X::operator= (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. diff --git a/deal.II/include/deal.II/base/config.h.in b/deal.II/include/deal.II/base/config.h.in index 5298078b67..406374cef4 100644 --- a/deal.II/include/deal.II/base/config.h.in +++ b/deal.II/include/deal.II/base/config.h.in @@ -385,12 +385,6 @@ * 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. diff --git a/deal.II/source/lac/vector.inst.in b/deal.II/source/lac/vector.inst.in index 77dea0609b..2ac1a71afb 100644 --- a/deal.II/source/lac/vector.inst.in +++ b/deal.II/source/lac/vector.inst.in @@ -21,12 +21,10 @@ for (S1, S2 : REAL_SCALARS) { template bool - Vector::DEAL_II_MEMBER_OP_TEMPLATE_INST - operator==(const Vector&) const; + Vector::operator==(const Vector&) const; template S1 - Vector::DEAL_II_MEMBER_OP_TEMPLATE_INST - operator*(const Vector&) const; + Vector::operator*(const Vector&) const; template void Vector::reinit(const Vector&, const bool); } @@ -42,12 +40,10 @@ for (S1, S2 : COMPLEX_SCALARS) { template bool - Vector::DEAL_II_MEMBER_OP_TEMPLATE_INST - operator==(const Vector&) const; + Vector::operator==(const Vector&) const; template S1 - Vector::DEAL_II_MEMBER_OP_TEMPLATE_INST - operator*(const Vector&) const; + Vector::operator*(const Vector&) const; template void Vector::reinit(const Vector&, const bool); }