-
Notifications
You must be signed in to change notification settings - Fork 40
/
Copy patheigen-3.3.9.diff
147 lines (139 loc) · 6.78 KB
/
eigen-3.3.9.diff
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
diff '--exclude=CMakeLists.txt' -ruw eigen-3.3.9/Eigen/CholmodSupport inst/include/Eigen/CholmodSupport
--- eigen-3.3.9/Eigen/CholmodSupport 2020-12-04 15:53:41.000000000 -0600
+++ inst/include/Eigen/CholmodSupport 2020-12-05 09:30:13.025906089 -0600
@@ -13,7 +13,7 @@
#include "src/Core/util/DisableStupidWarnings.h"
extern "C" {
- #include <cholmod.h>
+ #include <RcppEigenCholmod.h>
}
/** \ingroup Support_modules
@@ -45,4 +45,3 @@
#include "src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_CHOLMODSUPPORT_MODULE_H
-
diff '--exclude=CMakeLists.txt' -ruw eigen-3.3.9/Eigen/src/Core/arch/CUDA/Half.h inst/include/Eigen/src/Core/arch/CUDA/Half.h
--- eigen-3.3.9/Eigen/src/Core/arch/CUDA/Half.h 2020-12-04 15:53:41.000000000 -0600
+++ inst/include/Eigen/src/Core/arch/CUDA/Half.h 2020-12-05 09:31:13.765176934 -0600
@@ -127,12 +127,14 @@
EIGEN_DEVICE_FUNC EIGEN_EXPLICIT_CAST(unsigned long) const {
return static_cast<unsigned long>(half_impl::half_to_float(*this));
}
+#if EIGEN_HAS_CXX11
EIGEN_DEVICE_FUNC EIGEN_EXPLICIT_CAST(long long) const {
return static_cast<long long>(half_impl::half_to_float(*this));
}
EIGEN_DEVICE_FUNC EIGEN_EXPLICIT_CAST(unsigned long long) const {
return static_cast<unsigned long long>(half_to_float(*this));
}
+#endif
EIGEN_DEVICE_FUNC EIGEN_EXPLICIT_CAST(float) const {
return half_impl::half_to_float(*this);
}
diff '--exclude=CMakeLists.txt' -ruw eigen-3.3.9/Eigen/src/Core/arch/SSE/Complex.h inst/include/Eigen/src/Core/arch/SSE/Complex.h
--- eigen-3.3.9/Eigen/src/Core/arch/SSE/Complex.h 2020-12-04 15:53:41.000000000 -0600
+++ inst/include/Eigen/src/Core/arch/SSE/Complex.h 2020-12-05 09:32:22.436352085 -0600
@@ -98,10 +98,10 @@
res.v = _mm_loadl_pi(_mm_set1_ps(0.0f), reinterpret_cast<const __m64*>(&from));
#elif EIGEN_GNUC_AT_LEAST(4,6)
// Suppress annoying "may be used uninitialized in this function" warning with gcc >= 4.6
- #pragma GCC diagnostic push
- #pragma GCC diagnostic ignored "-Wuninitialized"
+ //#pragma GCC diagnostic push
+ //#pragma GCC diagnostic ignored "-Wuninitialized"
res.v = _mm_loadl_pi(res.v, (const __m64*)&from);
- #pragma GCC diagnostic pop
+ //#pragma GCC diagnostic pop
#else
res.v = _mm_loadl_pi(res.v, (const __m64*)&from);
#endif
diff '--exclude=CMakeLists.txt' -ruw eigen-3.3.9/Eigen/src/Core/util/DisableStupidWarnings.h inst/include/Eigen/src/Core/util/DisableStupidWarnings.h
--- eigen-3.3.9/Eigen/src/Core/util/DisableStupidWarnings.h 2020-12-04 15:53:41.000000000 -0600
+++ inst/include/Eigen/src/Core/util/DisableStupidWarnings.h 2020-12-05 09:37:01.133000285 -0600
@@ -4,7 +4,6 @@
#ifdef _MSC_VER
// 4100 - unreferenced formal parameter (occurred e.g. in aligned_allocator::destroy(pointer p))
// 4101 - unreferenced local variable
- // 4127 - conditional expression is constant
// 4181 - qualifier applied to reference type ignored
// 4211 - nonstandard extension used : redefined extern to static
// 4244 - 'argument' : conversion from 'type1' to 'type2', possible loss of data
@@ -20,7 +19,7 @@
#ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS
#pragma warning( push )
#endif
- #pragma warning( disable : 4100 4101 4127 4181 4211 4244 4273 4324 4503 4512 4522 4700 4714 4717 4800)
+ #pragma warning( disable : 4100 4101 4181 4211 4244 4273 4324 4503 4512 4522 4700 4714 4717 4800)
#elif defined __INTEL_COMPILER
// 2196 - routine is both "inline" and "noinline" ("noinline" assumed)
@@ -38,32 +37,33 @@
#elif defined __clang__
// -Wconstant-logical-operand - warning: use of logical && with constant operand; switch to bitwise & or remove constant
// this is really a stupid warning as it warns on compile-time expressions involving enums
- #ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS
- #pragma clang diagnostic push
- #endif
- #pragma clang diagnostic ignored "-Wconstant-logical-operand"
+ //#ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS
+ // #pragma clang diagnostic push
+ //#endif
+ //#pragma clang diagnostic ignored "-Wconstant-logical-operand"
#elif defined __GNUC__
- #if (!defined(EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS)) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
- #pragma GCC diagnostic push
- #endif
- // g++ warns about local variables shadowing member functions, which is too strict
- #pragma GCC diagnostic ignored "-Wshadow"
- #if __GNUC__ == 4 && __GNUC_MINOR__ < 8
- // Until g++-4.7 there are warnings when comparing unsigned int vs 0, even in templated functions:
- #pragma GCC diagnostic ignored "-Wtype-limits"
- #endif
- #if __GNUC__>=6
- #pragma GCC diagnostic ignored "-Wignored-attributes"
- #endif
- #if __GNUC__==7
- // See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89325
- #pragma GCC diagnostic ignored "-Wattributes"
- #endif
+ // #if (!defined(EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS)) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
+ // #pragma GCC diagnostic push
+ // #endif
+ // // g++ warns about local variables shadowing member functions, which is too strict
+ // #pragma GCC diagnostic ignored "-Wshadow"
+ // #if __GNUC__ == 4 && __GNUC_MINOR__ < 8
+ // // Until g++-4.7 there are warnings when comparing unsigned int vs 0, even in templated functions:
+ // #pragma GCC diagnostic ignored "-Wtype-limits"
+ // #endif
+ // #if __GNUC__>=6
+ // #pragma GCC diagnostic ignored "-Wignored-attributes"
+ // #endif
+ // #if __GNUC__==7
+ // // See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89325
+ // #pragma GCC diagnostic ignored "-Wattributes"
+ // #endif
#endif
#if defined __NVCC__
+ #pragma diag_suppress boolean_controlling_expr_is_constant
// Disable the "statement is unreachable" message
#pragma diag_suppress code_is_unreachable
// Disable the "dynamic initialization in unreachable code" message
@@ -81,6 +81,7 @@
#pragma diag_suppress 2671
#pragma diag_suppress 2735
#pragma diag_suppress 2737
+ #pragma diag_suppress 2739
#endif
#else
diff '--exclude=CMakeLists.txt' -ruw eigen-3.3.9/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h inst/include/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h
--- eigen-3.3.9/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h 2020-12-04 15:53:41.000000000 -0600
+++ inst/include/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h 2020-12-05 09:38:56.131615691 -0600
@@ -193,7 +193,9 @@
std::string curfile;
curfile = m_folder + "/" + m_curs_id->d_name;
// Discard if it is a folder
+#if !(defined(__sun) || defined(_AIX) || defined(__hpux) || defined(__sgi) || defined(__HAIKU__))
if (m_curs_id->d_type == DT_DIR) continue; //FIXME This may not be available on non BSD systems
+#endif
// struct stat st_buf;
// stat (curfile.c_str(), &st_buf);
// if (S_ISDIR(st_buf.st_mode)) continue;