[Bug 459705] Review Request: eigen2 - A lightweight C++ template library for vector and matrix math

bugzilla at redhat.com bugzilla at redhat.com
Sun Aug 24 21:24:12 UTC 2008


Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.


https://bugzilla.redhat.com/show_bug.cgi?id=459705





--- Comment #16 from Kevin Kofler <kevin at tigcc.ticalc.org>  2008-08-24 17:24:11 EDT ---
Looks pretty clearly like a GCC bug.

The offending line in Eigen looks reasonable:
  inline ei_scalar_quotient1_impl(const Scalar& other) :
m_other(static_cast<Scalar>(1) / other) {}
No inline assembly or anything suspicious.

GCC crashes in void convert_move (rtx to, rtx from, int unsignedp). The
function is documented as:
/* Copy data from FROM to TO, where the machine modes are not the same.
   Both modes may be integer, or both may be floating, or both may be
   fixed-point.
   UNSIGNEDP should be nonzero if FROM is an unsigned type.
   This causes zero-extension instead of sign-extension.  */
The assertion which fails is gcc_assert (to_real == from_real);. This checks
for the constraint that "Both modes may be integer, or both may be floating",
here we have a mix, so GCC is calling convert_move with invalid arguments.

A backtrace might help, as might GCC internal representation dumps (both tree
and RTL dumps), but in any case a bug needs to be filed against GCC.

I'd suggest disabling building the testsuite for now if that gets the package
to build, but filing a bug against GCC to get GCC fixed.

-- 
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.




More information about the Fedora-package-review mailing list