diff options
author | James Laird <jlaird@hdfgroup.org> | 2005-05-20 17:50:15 (GMT) |
---|---|---|
committer | James Laird <jlaird@hdfgroup.org> | 2005-05-20 17:50:15 (GMT) |
commit | 74f3f5d572f628a205c777761c27b101fd6621d8 (patch) | |
tree | 71dca8222eadc9271c63969fa87bc8a36b29c9d4 /fortran | |
parent | fca209846fd9ea71bafe504190bf378c098eed82 (diff) | |
download | hdf5-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')
-rw-r--r-- | fortran/src/H5Pf.c | 7 |
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]); */ |