Summary: | [4.7] wrong assertation on aligned arrays for 32bit (was: dev-cpp/eigen:2 fails tests) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Patrick Lauer <patrick> |
Component: | New packages | Assignee: | Gentoo Science Related Packages <sci> |
Status: | RESOLVED CANTFIX | ||
Severity: | normal | CC: | ainsaar, b.brachaczek, gentoo, heroxbd, kde, orzel, quantheory |
Priority: | Normal | Keywords: | TESTFAILURE |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | http://eigen.tuxfamily.org/bz/show_bug.cgi?id=490 | ||
See Also: | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53900 | ||
Whiteboard: | tracking upstream | ||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 390247 |
Description
Patrick Lauer
2012-07-12 03:12:19 UTC
I agree with upstream's assessment, I can only reproduce with GCC 4.7 as specified in the upstream ticket (linked in 'URL' field), the bug is actually in gcc : http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53900 (In reply to comment #2) > as specified in the upstream ticket (linked in 'URL' field), the bug is > actually in gcc : > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53900 Yeah, but unfortunately it's marked as invalid @ gcc bugzie... I'll bisect to find the source regression, maybe this will change upstream's mind. It looks like the gcc folks are saying that this test should always pass because this alignment should always work, and therefore the compiler is allowed to evaluate the assert at compile-time. Of course, alignment of dynamically allocated arrays is *not* right, and libstdc++ is probably (?) not standard-conforming in this respect. There's a ticket to improve the situation here: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55727 Eigen has implemented a workaround, whereas the gcc ticket has been closed as INVALID, so I think that this should be treated as an Eigen issue again. The workaround is in Eigen's git (not yet in any released version). See lines 50-70 here: https://bitbucket.org/eigen/eigen/src/32b190205cfb6a2f0b2989477dfd5e571b237caa/Eigen/src/Core/DenseStorage.h?at=default If this bug here is to be treated as an Eigen issue, then we should tag it "resolved-fixed", because dev-cpp/eigen-3.1.3 has been in the tree since April. In addition, we should try to stabilize >=dev-cpp/eigen-3.1.3 before gcc-4.7; if so, then bug 467274 needs a new blocker. Hopefully I am interpreting the situation correctly... If not, then what, specifically, are we waiting for here? A resolution for the bug of libstdc++ (see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53900#c8 and comment 5 here) that is yet to be filed? (In reply to Siim Ainsaar from comment #6) > If this bug here is to be treated as an Eigen issue, then we should tag it > "resolved-fixed", because dev-cpp/eigen-3.1.3 has been in the tree since > April. There are still a number of packages that depend on slot 2, so unfortunately we could not consider the bug fixed yet. > In addition, we should try to stabilize >=dev-cpp/eigen-3.1.3 before > gcc-4.7; if so, then bug 467274 needs a new blocker. Does 3.0.6 (already stable) fail with gcc-4.7? If there is no objection, I will soon restrict tests for dev-cpp/eigen:2 permanently. There are two other two other test failure bugs reported (which seem to be issues with the testsuite rather than the library. Further, upstream no longer maintains the 2.0 series. Tests permanently restricted wrt bug #426236, 455460, and 467288. Upstream no longer maintains the 2.0 branch. |