Bugzilla – Attachment 102 Details for
Bug 89
Crashes and wrong results due to GCC <=4.3 compiler bug with asserts inside of Eigen's code
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Forgot Password
Login:
[x]
This bugzilla service is closed. All entries have been migrated to
https://gitlab.com/libeigen/eigen
[patch]
no internal debugging with gcc 4.3: makes basicstuff_1 and linearstructure_1 pass
no-internal-debugging-with-gcc43 (text/plain), 1.63 KB, created by
Benoit Jacob
on 2011-02-14 03:13:21 UTC
(
hide
)
Description:
no internal debugging with gcc 4.3: makes basicstuff_1 and linearstructure_1 pass
Filename:
MIME Type:
Creator:
Benoit Jacob
Created:
2011-02-14 03:13:21 UTC
Size:
1.63 KB
patch
obsolete
># HG changeset patch ># Parent 01c6559289569ead8eb8a4e80b16fa959b3b10af >diff --git a/Eigen/src/Core/util/Macros.h b/Eigen/src/Core/util/Macros.h >--- a/Eigen/src/Core/util/Macros.h >+++ b/Eigen/src/Core/util/Macros.h >@@ -119,19 +119,24 @@ > #ifdef EIGEN_NO_DEBUG > #define eigen_assert(x) > #else > #define eigen_assert(x) assert(x) > #endif > #endif > > #ifdef EIGEN_INTERNAL_DEBUGGING >-#define eigen_internal_assert(x) eigen_assert(x) >+ #if __GNUC__==4 && __GNUC_MINOR__==3 >+ #error EIGEN_INTERNAL_DEBUGGING triggers GCC 4.3 bugs that make your program segfault. Either don't use EIGEN_INTERNAL_DEBUGGING, or don't use GCC 4.3. See bug 89. >+ #define eigen_internal_assert(x) >+ #else >+ #define eigen_internal_assert(x) eigen_assert(x) >+ #endif > #else >-#define eigen_internal_assert(x) >+ #define eigen_internal_assert(x) > #endif > > #ifdef EIGEN_NO_DEBUG > #define EIGEN_ONLY_USED_FOR_DEBUG(x) (void)x > #else > #define EIGEN_ONLY_USED_FOR_DEBUG(x) > #endif > >diff --git a/test/main.h b/test/main.h >--- a/test/main.h >+++ b/test/main.h >@@ -157,17 +157,21 @@ namespace Eigen > > #else // EIGEN_NO_ASSERTION_CHECKING > > #define VERIFY_RAISES_ASSERT(a) {} > > #endif // EIGEN_NO_ASSERTION_CHECKING > > >+// bug 89: EIGEN_INTERNAL_DEBUGGING causes weird strict-aliasing issues with GCC 4.3 >+#if !(__GNUC__==4 && __GNUC_MINOR__==3) > #define EIGEN_INTERNAL_DEBUGGING >+#endif >+ > #include <Eigen/QR> // required for createRandomPIMatrixOfRank > > > static void verify_impl(bool condition, const char *testname, const char *file, int line, const char *condition_as_string) > { > if (!condition) > { > std::cerr << "Test " << testname << " failed in " << file << " (" << line << ")" \
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 89
:
17
|
18
|
19
|
96
|
98
|
100
|
101
| 102 |
103
|
104