summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2016-05-05 21:06:06 +0200
committerDavid Seifert <soap@gentoo.org>2016-05-05 21:06:06 +0200
commitc3c7b1fd5e5c3f2925ad71c73bd5ae12eb2e5956 (patch)
tree023bc7b06dfae8e165dd40a3708e7dd6924e9ad8 /sci-libs/pastix/files
parentsci-mathematics/cgal: Move cmake files back to /usr/libdir (diff)
downloadgentoo-c3c7b1fd5e5c3f2925ad71c73bd5ae12eb2e5956.tar.gz
gentoo-c3c7b1fd5e5c3f2925ad71c73bd5ae12eb2e5956.tar.bz2
gentoo-c3c7b1fd5e5c3f2925ad71c73bd5ae12eb2e5956.zip
sci-libs/pastix: Add cast to double for C99 isnan macro
Gentoo-Bug: 580422 * Move patches into PATCHES bash array Package-Manager: portage-2.2.28
Diffstat (limited to 'sci-libs/pastix/files')
-rw-r--r--sci-libs/pastix/files/pastix-5.2.2.22-isnan-floating-point-cast.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/sci-libs/pastix/files/pastix-5.2.2.22-isnan-floating-point-cast.patch b/sci-libs/pastix/files/pastix-5.2.2.22-isnan-floating-point-cast.patch
new file mode 100644
index 000000000000..8aa7c06e5c93
--- /dev/null
+++ b/sci-libs/pastix/files/pastix-5.2.2.22-isnan-floating-point-cast.patch
@@ -0,0 +1,47 @@
+Add missing cast to floating-point type:
+* sopalin/src/variable_csc.c: In function ‘vcsc_add_node’:
+* sopalin/src/variable_csc.c:138:13: error: non-floating-point argument in call to function ‘__builtin_isnan’
+* if (isnan(vcsc->values[COL-1][i*dof2 + ii])) {
+See also:
+https://bugs.gentoo.org/show_bug.cgi?id=580422
+
+--- src/common/src/errors.h
++++ src/common/src/errors.h
+@@ -140,7 +140,7 @@
+ * expr - The value to check.
+ */
+ #define CHECK_NAN(expr) { \
+- ASSERT_DEBUG(!isnan(expr), DBG_SOPALIN_NAN); \
++ ASSERT_DEBUG(!isnan(((double) expr)), DBG_SOPALIN_NAN); \
+ ASSERT_DEBUG(!isinf(expr), DBG_SOPALIN_INF); \
+ }
+ #else
+--- src/sopalin/src/variable_csc.c
++++ src/sopalin/src/variable_csc.c
+@@ -135,7 +135,7 @@
+ #endif
+
+ for (ii = 0; ii < dof2; ii++) {
+- if (isnan(vcsc->values[COL-1][i*dof2 + ii])) {
++ if (isnan(((double) vcsc->values[COL-1][i*dof2 + ii]))) {
+ vcsc->values[COL-1][i*dof2 + ii] = VALUE[ii];
+ } else {
+ vcsc->values[COL-1][i*dof2 + ii] = op(vcsc->values[COL-1][i*dof2 + ii],
+@@ -252,7 +252,7 @@
+ vcsc->rows[COL_NODE][i]);
+ }
+ #endif
+- if (isnan(vcsc->values[COL_NODE][idx])) {
++ if (isnan(((double) vcsc->values[COL_NODE][idx]))) {
+ vcsc->values[COL_NODE][idx] = VALUE;
+ } else {
+ vcsc->values[COL_NODE][idx] = op(vcsc->values[COL_NODE][idx],
+@@ -660,7 +660,7 @@
+ } else {
+ INTS iterdof;
+ for (iterdof = 0; iterdof < dof2; iterdof++) {
+- if (!isnan(vcsc->values[MYCOL-1][dof2*iter2+iterdof])) {
++ if (!isnan(((double) vcsc->values[MYCOL-1][dof2*iter2+iterdof]))) {
+ /* ignore NaN values from VCSC */
+ (*values_o)[dof2*iter3+iterdof] = op(
+ (*values_o)[dof2*iter3+iterdof],