This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Weird g++ error with current 3.4 CVS


Whoops, sorry. A g++ 2.95 slipped under my mpiCC.

Richard.

Richard Guenther wrote:
Since a g++ rebuild of todays CVS I get the following weird error from compiling the POOMA library:

/net/alwazn/home/rguenth/src/pooma-bk/r2/src/Domain/SliceDomain.h: In method `SliceDomain<DomainTraits<SliceRange<2,1> > >::SliceDomain(const SliceDomain<DomainTraits<SliceRange<2,1> > > &)':
/net/alwazn/home/rguenth/src/pooma-bk/r2/src/Domain/SliceRange.h:121: instantiated from `SliceRange<2,1>::SliceRange(const SliceRange<2,1> &)'
/net/alwazn/home/rguenth/src/pooma-bk/r2/src/Engine/BrickBase.cpp:301: instantiated from `Pooma::DoubleSliceHelper<1,2>::init(Interval<1> &, int *, int &, const Pooma::BrickViewBase<2> &, const SliceInterval<2,1> &)'
src/Engine/BrickBase3.cmpl.cpp:38: instantiated from here
/net/alwazn/home/rguenth/src/pooma-bk/r2/src/Domain/SliceDomain.h:156: non-constant `operator <=<DomainTraits<SliceRange<2,1> >::{anonymous enum}>((+&sliceDimensions), (+&dimensions))' cannot be used as template argument


where it is moaning about the CTAssert in

  // copy constructor
  SliceDomain(const SliceDomain<DT> &sd)
    : slice_m(sd.slice_m),
      domain_m(sd.domain_m) {
    CTAssert(DT::sliceDimensions <= DT::dimensions);
    for (int d = 0; d < DT::dimensions; ++d)
      ignore_m[d] = sd.ignore_m[d];
  }

where CTAssert is defined in the usual way

#define CTAssert(c) PoomaCTAssert<(c)>::test()

template<bool B> struct PoomaCTAssert {};

template<> struct PoomaCTAssert<true> { static void test() {} };

and DT::sliceDimensions and DT::dimensions are anonymouns enum entries. It seems DT::sliceDimensions <= DT::dimensions is treated as method reference somehow, is this correct or even standard conform?

g++-3.4 (GCC) 3.4.2 20040816 (prerelease)

Richard.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]