]> https://gitweb.dealii.org/ - dealii.git/commit
Detect and work around the following bug in pre-3.0 gccs:
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Mon, 25 Mar 2002 15:09:29 +0000 (15:09 +0000)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Mon, 25 Mar 2002 15:09:29 +0000 (15:09 +0000)
commitbacab602a0a6e1bddb2dacd7c97ca78053f69a99
treed718792c20a9e1fe75d3f6f5979b460a4acab3a7
parent417eb4eb922e79667df8b51b3925ebc336026538
Detect and work around the following bug in pre-3.0 gccs:

struct X
{
    template <typename T2>
    X operator = (T2 &) {return *this;};
};

template X X::operator=<> (float &);

These compilers reported
  x.cc:7: 'operator =' not defined
  x.cc:7: confused by earlier errors, bailing out
and wanted that we write
  template X X::template operator=<> (float &);
instead. This is not what the standard prescribes, and is also not necessary for regular member functions.

Unfortunately, we cannot simply add that 'template' here, since otherwise Sun's Forte compiler no more
groks this. So we define a symbol DEAL_II_MEMBER_OP_TEMPLATE_INST which is empty for standards
compliant compilers, or 'template' in case of broken gcc's.

git-svn-id: https://svn.dealii.org/trunk@5615 0785d39b-7218-0410-832d-ea1e28bc413d
deal.II/aclocal.m4
deal.II/base/include/base/config.h.in
deal.II/configure
deal.II/configure.in
deal.II/lac/source/block_vector.cc
deal.II/lac/source/vector.cc
deal.II/lac/source/vector.long_double.cc

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.