]> https://gitweb.dealii.org/ - dealii-svn.git/commit
Detect and work around the following bug in pre-3.0 gccs:
authorwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 25 Mar 2002 15:09:29 +0000 (15:09 +0000)
committerwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 25 Mar 2002 15:09:29 +0000 (15:09 +0000)
commite624c5f16c343f919d4bf60c25218095a4b104af
treebeb0c3292f90f86470cb7cee25dad10269fb26a6
parenta1c76f840cb2f9c89c3b1240a7b55be9e623f778
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.