Re: [eigen] Compilation errors introduced by recent changes. (aligned stl types & MatrixType rename) |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Compilation errors introduced by recent changes. (aligned stl types & MatrixType rename)
- From: Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx>
- Date: Wed, 21 Apr 2010 18:30:09 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:content-type; bh=2MqQ6wVxIcTnZfs+Z6qnjLSmwjpj8Fye8gkz+3b2kKA=; b=Mj16m2Ehb1XxKAkbv+S33HhMc6Rcja/7sl6zHBLJQBGR0k47FjJdxE2DCcAHz3QNPY YD6tjUtnseF9oshsod2MSZH6Qmuv952nFAwtaUgDkidW0igSd84TrxwMg/4x+j87fzYO B1ap5FbOtwrlKfUXuLNBr5FgxgX8MWDYAT/6g=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=P1Gt3eFsVIEWEuYAuuRg4hUh6jOPynT0pMq+ylQX9mWjjCUL/j1hCgvEEytT2UvyM6 whuhVsuB2stI+X9lYtT+8OFuUMe5Ptvk/8i4d/JDevB9DvPSQvWM5ikc+zeaQWJfDgSU jbMcmaQ5nUcGOkCCpLSn896kFbAcuBZEJxOsQ=
It should be fixed now though you also made a small error.
This
std::vector<Vector2d> stlvec;
will almost always fail to compile - it will e.g. work with VS in 64
bit builds since there we do not require aligned_allocators at all.
The issue hit you in 32 bit mode since without
Eigen::aligned_allocator<Vector2d>, i.e. any different than
std::vector<Vector2d, Eigen::aligned_allocator<Vector2d> > stlvec(10,
Vector2d());
we will never use our std::vector since it is simply a specialization
of the std::vector for types where Eigen::aligned_allocator is used.
Ok, having that said, when you reported the issue even this (correct code)
std::vector<Vector2d, Eigen::aligned_allocator<Vector2d> > stlvec(10,
Vector2d());
failed which I fixed now.
If you hit any other issues please let me know.
- Hauke
On Wed, Apr 21, 2010 at 5:37 PM, Eamon Nerbonne
<eamon.nerbonne@xxxxxxxxx> wrote:
> Hi,
>
> I'm seeing two probably disctinct compiler errors on VS 2010 RC.
>
> The first was introduced in change labelled "Added support for STL lists
> with aligned Eigen types."
> The error is: error C2719: '_Val': formal parameter with
> __declspec(align('16')) won't be aligned... and it refers me to line 870 of
> "vector".
>
> Triggering the error is simply a matter of declaring an stl vector of an
> aligned data type, e.g. std::vector<Vector2d> stlvec;
>
> I hope this isn't a difference between RC and RTM - it'll be a while before
> I get around to upgrading.
>
>
> The second error I'm seeing occurs after the MatrixType rename - that
> triggers a hundred errors even on fairly short programs; these complain of:
> src/Core/util/
> ForwardDeclarations.h(63): error C2065: 'MatrixType' : undeclared identifier
> src/Core/VectorBlock.h(64) : see reference to class template instantiation
> 'Eigen::ei_traits<Eigen::VectorBlock<VectorType,Size>>' being compiled
> etc.
>
> The error just doesn't make much sense to me, to be honest - I fiddled a bit
> with the definitions, but nothing much seems to happen.
>
> Both errors don't occur in GCC (4.5).
> --eamon@xxxxxxxxxxxx - Tel#:+31-6-15142163
>