http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50523

--- Comment #2 from Markus Trippelsdorf <markus at trippelsdorf dot de> 
2011-09-26 12:07:55 UTC ---
Created attachment 25366
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25366
testcase

Reduced to ~560 lines.

 % g++ testcase.cpp -Wfatal-errors
testcase.cpp: In instantiation of ‘BinaryNode<Op, Left,
Right>::BinaryNode(const Left&, const Right&) [with Op = OpSubtract, Left =
Reference<Field<NoMesh<3>, Vector<3>, ViewEngine<3,
IndexFunction<GenericURM<MeshTraits<3, double, UniformRectilinearTag,
CartesianTag, 3> >::PositionsFunctor> > > >, Right = Scalar<Vector<3> >]’:
testcase.cpp:318:123:   required from ‘typename
MakeFieldReturn<BinaryNode<OpSubtract, typename CreateLeaf<Field<G1, T1, E1>
>::Leaf_t, typename CreateLeaf<T2>::Leaf_t> >::Expression_t operator-(const
Field<G1, T1, E1>&, const T2&) [with G1 = NoMesh<3>, T1 = Vector<3>, E1 =
ViewEngine<3, IndexFunction<GenericURM<MeshTraits<3, double,
UniformRectilinearTag, CartesianTag, 3> >::PositionsFunctor> >, T2 = Vector<3>,
typename MakeFieldReturn<BinaryNode<OpSubtract, typename CreateLeaf<Field<G1,
T1, E1> >::Leaf_t, typename CreateLeaf<T2>::Leaf_t> >::Expression_t =
Field<NoMesh<3>, Vector<3>, ExpressionTag<BinaryNode<OpSubtract,
Reference<Field<NoMesh<3>, Vector<3>, ViewEngine<3,
IndexFunction<GenericURM<MeshTraits<3, double, UniformRectilinearTag,
CartesianTag, 3> >::PositionsFunctor> > > >, Scalar<Vector<3> > > > >]’
testcase.cpp:567:74:   required from here
testcase.cpp:34:83: error: conversion from ‘const Reference<Field<NoMesh<3>,
Vector<3>, ViewEngine<3, IndexFunction<GenericURM<MeshTraits<3, double,
UniformRectilinearTag, CartesianTag, 3> >::PositionsFunctor> > > >’ to ‘const
Field<NoMesh<3>, Vector<3>, ViewEngine<3,
IndexFunction<GenericURM<MeshTraits<3, double, UniformRectilinearTag,
CartesianTag, 3> >::PositionsFunctor> > >&’ is ambiguous
compilation terminated due to -Wfatal-errors.

Reply via email to