summaryrefslogtreecommitdiffstats
path: root/fortran/src/H5Pf.c
diff options
context:
space:
mode:
authorJames Laird <jlaird@hdfgroup.org>2005-05-20 17:50:15 (GMT)
committerJames Laird <jlaird@hdfgroup.org>2005-05-20 17:50:15 (GMT)
commit74f3f5d572f628a205c777761c27b101fd6621d8 (patch)
tree71dca8222eadc9271c63969fa87bc8a36b29c9d4 /fortran/src/H5Pf.c
parentfca209846fd9ea71bafe504190bf378c098eed82 (diff)
downloadhdf5-74f3f5d572f628a205c777761c27b101fd6621d8.zip
hdf5-74f3f5d572f628a205c777761c27b101fd6621d8.tar.gz
hdf5-74f3f5d572f628a205c777761c27b101fd6621d8.tar.bz2
[svn-r10774] Purpose:
Code cleanup Description: On Cray X1, a loop in the Fortran C source confuses the compiler's optimizer and hangs the build. Solution: Documented the fix in the code, and added an #ifdef so that the optimization is only disabled on Cray X1. Platforms tested: mir (fix was already checked into code; this was a minor change)
Diffstat (limited to 'fortran/src/H5Pf.c')
-rw-r--r--fortran/src/H5Pf.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/fortran/src/H5Pf.c b/fortran/src/H5Pf.c
index a20511c..84321ff 100644
--- a/fortran/src/H5Pf.c
+++ b/fortran/src/H5Pf.c
@@ -2995,7 +2995,14 @@ nh5pset_fapl_multi_c ( hid_t_f *prp_id , int_f *memb_map, hid_t_f *memb_fapl, _f
*/
c_prp_id = (hid_t)*prp_id;
+
+/*
+ * The Cray X1 compiler can become confused when trying to optimize
+ * this loop. This ugly #pragma tells it not to try to optimize it.
+ */
+#ifdef __crayx1
#pragma _CRI novector
+#endif
for (i=0; i < H5FD_MEM_NTYPES; i++) {
c_memb_map[i] = (H5FD_mem_t)memb_map[i];
/*printf("map %d \n", c_memb_map[i]); */