This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Strange error with current HEAD
- From: Richard Guenther <rguenth at tat dot physik dot uni-tuebingen dot de>
- To: gcc at gcc dot gnu dot org
- Date: Fri, 9 Jan 2004 11:12:50 +0100 (CET)
- Subject: Strange error with current HEAD
Hi!
I get a strange compile error with a Pooma application and current HEAD,
it looks like
/home/rguenth/ix86/pooma/tat-serial-gcc34/pooma/linux/src/Field/Relations/ZeroGradientFaceBC.h:
In copy constructor `ZeroGradientFaceBC<Dim>::ZeroGradientFaceBC(const
ZeroGradientFaceBC<Dim>&) [with int Dim = 3]':
/home/rguenth/ix86/pooma/tat-serial-gcc34/pooma/linux/src/Field/Relations/ZeroGradientFaceBC.h:205:
instantiated from `void Pooma::addZeroGradientFaceBC(const Target&, int)
[with Target = Field<UniformRectilinearMesh<MeshTraits<3, double,
UniformRectilinearTag, CartesianTag, 3> >, double, MultiPatch<GridTag, Remote<Brick> > >]'
tramp3d.cpp:679: instantiated from here
/home/rguenth/ix86/pooma/tat-serial-gcc34/pooma/linux/src/Field/Relations/ZeroGradientFaceBC.h:78:
error: argument of type `int (ZeroGradientFaceBC<3>::)() const' does not
match `int'
where the offending call is
namespace Pooma {
template<class Target>
void addZeroGradientFaceBC(const Target &f, int face)
{
205 newRelation(ZeroGradientFaceBC<Target::dimensions>(face), f);
}
}
and the class with the copy constructor looks like
template<int Dim>
class ZeroGradientFaceBC
{
public:
//---------------------------------------------------------------------------
// Constructors.
ZeroGradientFaceBC(int face)
: srcDomain_m(Pooma::NoInit()),
face_m(face)
{ }
ZeroGradientFaceBC(const ZeroGradientFaceBC<Dim> &model)
: domains_m(model.domains_m),
srcDomain_m(model.srcDomain_m),
face_m(model.face)
78 { }
...
private:
Interval<Dim> srcDomain_m;
std::vector<Interval<Dim> > domains_m;
int face_m;
};
And we have
namespace Pooma {
template<class RelationFunctor, class L>
void newRelation(const RelationFunctor &f, const L &l);
}
I failed to construct a reasonably small testcase in a reasonable amount
of time - but maybe someone has a bell ringing seeing the error message...
There is an old (huge) testcase that triggeres the same problem still
lying around at
http://www.tat.physik.uni-tuebingen.de/~rguenth/gcc/tramp3d2.ii.gz
(use -fno-exceptions)
Thanks,
Richard.
--
Richard Guenther <richard dot guenther at uni-tuebingen dot de>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/