Re: [eigen] sun studio 11 compiler error

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


2010/8/24 Ben Goodrich <bgokgm@xxxxxxxxxxxxxx>:
> On Tue, Aug 24, 2010 at 11:12 AM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx> wrote:
>> 2010/8/24 Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
>>> Not adding a unit test as this is a plain compilation issue.
>>
>> This was the stupidest thing I've said in a while (although there are
>> other strong candidates). Will add unit test asap. Being a pure
>> template library, without unit tests, we can't even known if we
>> compile. We've been writing compilation-oriented unit tests since
>> eigen 1.
>>
>> Benoit
>
> While on the subject of compiler errors, I noticed yesterday that the
> devel branch was not compiling a simple program (see below) with Sun
> Studio 11 or whatever it is called these days. I have access to it on
> a SPARC server but I don't know much about it relative to gcc, except
> that it is usually more strict about things. Is this a known issue? Do
> I need to add some special command-line option?

Hm. We're supposed to support Sun CC but I would guess that it doesn't
get very frequent testing.

If you think that it used to work until recently, it can be useful to bisect.

This particular error is about a method, topRows(), that is overloaded
wrt template parameters. There's a version not taking any template
param, and also a template<int N> version. No idea how to make Sun CC
accept that (it is complaining about the latter).

Benoit

>
> Ben
>
> $ cat test.cc
> #include "eigen/Eigen/Eigen"
>
> using namespace Eigen;
>
> int main() {
>  return 0;
> }
> $
> $ CC test.cc
> "eigen/Eigen/src/Core/Block.h", line 614: Error: Could not find a
> match for Eigen::DenseBase<Eigen::Derived>::topRows().
> "eigen/Eigen/src/Core/Block.h", line 623: Error: Could not find a
> match for Eigen::DenseBase<Eigen::Derived>::topRows() const.
> "eigen/Eigen/src/Core/Block.h", line 668: Error: Could not find a
> match for Eigen::DenseBase<Eigen::Derived>::bottomRows().
> "eigen/Eigen/src/Core/Block.h", line 677: Error: Could not find a
> match for Eigen::DenseBase<Eigen::Derived>::bottomRows() const.
> "eigen/Eigen/src/Core/Block.h", line 722: Error: Could not find a
> match for Eigen::DenseBase<Eigen::Derived>::middleRows(Eigen::ei_traits<Eigen::T>::Index).
> "eigen/Eigen/src/Core/Block.h", line 731: Error: Could not find a
> match for Eigen::DenseBase<Eigen::Derived>::middleRows(Eigen::ei_traits<Eigen::T>::Index)
> const.
> "eigen/Eigen/src/Core/Block.h", line 775: Error: Could not find a
> match for Eigen::DenseBase<Eigen::Derived>::leftCols().
> "eigen/Eigen/src/Core/Block.h", line 784: Error: Could not find a
> match for Eigen::DenseBase<Eigen::Derived>::leftCols() const.
> "eigen/Eigen/src/Core/Block.h", line 829: Error: Could not find a
> match for Eigen::DenseBase<Eigen::Derived>::rightCols().
> "eigen/Eigen/src/Core/Block.h", line 838: Error: Could not find a
> match for Eigen::DenseBase<Eigen::Derived>::rightCols() const.
> "eigen/Eigen/src/Core/Block.h", line 884: Error: Could not find a
> match for Eigen::DenseBase<Eigen::Derived>::middleCols(Eigen::ei_traits<Eigen::T>::Index).
> "eigen/Eigen/src/Core/Block.h", line 893: Error: Could not find a
> match for Eigen::DenseBase<Eigen::Derived>::middleCols(Eigen::ei_traits<Eigen::T>::Index)
> const.
> "eigen/Eigen/src/Core/ProductBase.h", line 181: Error: complex
> expression not allowed in dependent template argument expression.
> "eigen/Eigen/src/Core/ProductBase.h", line 193: Error: complex
> expression not allowed in dependent template argument expression.
> "eigen/Eigen/src/Core/Product.h", line 519: Error: Could not find a
> match for Eigen::MatrixBase<Eigen::Derived>::lazyProduct<Eigen::MatrixBase<Eigen::Derived>::OtherDerived>(const
> Eigen::MatrixBase<Eigen::MatrixBase<Eigen::Derived>::OtherDerived>&)
> const.
> "eigen/Eigen/src/Geometry/Transform.h", line 199: Error: Too few
> arguments for template Eigen::ei_meta_if<int>.
> "eigen/Eigen/src/Geometry/Transform.h", line 558:     Where: While
> specializing "Eigen::Transform<Eigen::Scalar, Eigen::Dim,
> Eigen::Mode>".
> "eigen/Eigen/src/Geometry/Transform.h", line 558:     Where:
> Specialized in non-template code.
> "eigen/Eigen/src/Geometry/Transform.h", line 687: Error: scale(const
> Eigen::MatrixBase<Eigen::Flagged<Eigen::ExpressionType, Eigen::Added,
> Eigen::Removed>::OtherDerived>&) is not a member of
> Eigen::Transform<Eigen::Scalar, Eigen::Dim, Eigen::Mode>.
> "eigen/Eigen/src/Geometry/Transform.h", line 687: Error: Too few args
> in template, from Eigen::_Dim on ignored.
> "eigen/Eigen/src/Geometry/Transform.h", line 700: Error:
> scale(Eigen::Scalar) is not a member of
> Eigen::Transform<Eigen::Scalar, Eigen::Dim, Eigen::Mode>.
> "eigen/Eigen/src/Geometry/Transform.h", line 714: Error:
> prescale(const Eigen::MatrixBase<Eigen::Flagged<Eigen::ExpressionType,
> Eigen::Added, Eigen::Removed>::OtherDerived>&) is not a member of
> Eigen::Transform<Eigen::Scalar, Eigen::Dim, Eigen::Mode>.
> "eigen/Eigen/src/Geometry/Transform.h", line 714: Error: Too few args
> in template, from Eigen::_Dim on ignored.
> "eigen/Eigen/src/Geometry/Transform.h", line 727: Error:
> prescale(Eigen::Scalar) is not a member of
> Eigen::Transform<Eigen::Scalar, Eigen::Dim, Eigen::Mode>.
> "eigen/Eigen/src/Geometry/Transform.h", line 741: Error:
> translate(const
> Eigen::MatrixBase<Eigen::Flagged<Eigen::ExpressionType, Eigen::Added,
> Eigen::Removed>::OtherDerived>&) is not a member of
> Eigen::Transform<Eigen::Scalar, Eigen::Dim, Eigen::Mode>.
> "eigen/Eigen/src/Geometry/Transform.h", line 741: Error: Too few args
> in template, from Eigen::_Dim on ignored.
> "eigen/Eigen/src/Geometry/Transform.h", line 755: Error:
> pretranslate(const
> Eigen::MatrixBase<Eigen::Flagged<Eigen::ExpressionType, Eigen::Added,
> Eigen::Removed>::OtherDerived>&) is not a member of
> Eigen::Transform<Eigen::Scalar, Eigen::Dim, Eigen::Mode>.
> Compilation aborted, too many Error messages.
>
>
>



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/