summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorAllen Byrne <byrn@hdfgroup.org>2019-08-13 18:15:47 (GMT)
committerAllen Byrne <byrn@hdfgroup.org>2019-08-13 18:15:47 (GMT)
commita371dadd33d935636d2e0d0d873bf85845aef8ab (patch)
treeb87be760b90dc502a2182606775075aa99f9681a /config
parentd2244b0b0665a5d0a4d95f28a3e0bd1f3aa66aed (diff)
parent9a10685f4d9d9d53ef685714e4c8e511e6cc4617 (diff)
downloadhdf5-a371dadd33d935636d2e0d0d873bf85845aef8ab.zip
hdf5-a371dadd33d935636d2e0d0d873bf85845aef8ab.tar.gz
hdf5-a371dadd33d935636d2e0d0d873bf85845aef8ab.tar.bz2
Merging in latest from upstream (HDFFV/hdf5:refs/heads/hdf5_1_10)
* commit '9a10685f4d9d9d53ef685714e4c8e511e6cc4617': Reverted the gfortran file to the 1.10.5 file while we investigate MPI w/ Fortran failures.
Diffstat (limited to 'config')
-rw-r--r--config/gnu-fflags152
1 files changed, 34 insertions, 118 deletions
diff --git a/config/gnu-fflags b/config/gnu-fflags
index 185a4c6..6b5e6a1 100644
--- a/config/gnu-fflags
+++ b/config/gnu-fflags
@@ -1,4 +1,4 @@
-# -*- shell-script -*-
+# -*- shell-script -*-
#
# Copyright by The HDF Group.
# Copyright by the Board of Trustees of the University of Illinois.
@@ -25,8 +25,9 @@
#
if test X = "X$f9x_flags_set"; then
f9x_version="`$FC $FCFLAGS $H5_FCFLAGS -v 2>&1 |grep 'gcc version' |\
- sed 's/.*gcc version \([-a-z0-9\.]*\).*/\1/'`"
+ sed 's/.*gcc version \([-a-z0-9\.]*\).*/\1/'`"
if test X != "X$f9x_version"; then
+# is_mpi="`$FC $FCFLAGS $H5_FCFLAGS -help 2>&1 |grep 'link MPI'`"
f9x_vendor=`echo $f9x_version |sed 's/\([a-z]*\).*/\1/'`
f9x_version=`echo $f9x_version |sed 's/[-a-z]//g'`
if test X = "X$f9x_vendor" -a X != "X$f9x_version"; then
@@ -36,36 +37,24 @@ if test X = "X$f9x_flags_set"; then
echo "compiler '$FC' is GNU $f9x_vendor-$f9x_version"
fi
- # Get the compiler version numbers
+ # Some version numbers
f9x_vers_major=`echo $f9x_version | cut -f1 -d.`
f9x_vers_minor=`echo $f9x_version | cut -f2 -d.`
f9x_vers_patch=`echo $f9x_version | cut -f3 -d.`
test -n "$f9x_vers_major" || f9x_vers_major=0
test -n "$f9x_vers_minor" || f9x_vers_minor=0
test -n "$f9x_vers_patch" || f9x_vers_patch=0
+ f9x_vers_all=`expr $f9x_vers_major '*' 1000000 + $f9x_vers_minor '*' 1000 + $f9x_vers_patch`
fi
fi
+# Common GNU flags for various situations
if test "X-gfortran" = "X-$f9x_vendor"; then
-
- FC_BASENAME=gfortran
- F9XSUFFIXFLAG=""
- FSEARCH_DIRS=""
-
- # Need Fortran 2008 support for storage_size() in gcc 4.6 on
- # (2008ts in some versions)
- if test $f9x_vers_major -ge 8; then
- H5_FCFLAGS="$H5_FCFLAGS -std=f2008"
- elif test $f9x_vers_major -ge 5 -o $f9x_vers_major -eq 4 -a $f9x_vers_minor -ge 6; then
- H5_FCFLAGS="$H5_FCFLAGS -std=f2008ts"
- fi
-
-
- ###############################
- # Architecture-specific flags #
- ###############################
+ # Insert section about version specific problems from gnu-flags here, if
+ # necessary.
arch=
+ # Architecture-specific flags
# Nothing currently. (Uncomment code below and modify to add any)
#case "$host_os-$host_cpu" in
# *-i686)
@@ -73,116 +62,43 @@ if test "X-gfortran" = "X-$f9x_vendor"; then
# ;;
#esac
- H5_FCFLAGS="$H5_FCFLAGS $arch"
-
- ##############
- # Production #
- ##############
+ # Host-specific flags
+ # Nothing currently. (Uncomment code below and modify to add any)
+ #case "`hostname`" in
+ # sleipnir.ncsa.uiuc.edu)
+ # arch="$arch -pipe"
+ # ;;
+ #esac
- PROD_FCFLAGS=
+ # General
+ FC_BASENAME=gfortran
+ F9XSUFFIXFLAG=""
+ FSEARCH_DIRS=""
+ H5_FCFLAGS="$H5_FCFLAGS -pedantic -Wall -Wextra -Wunderflow -Wimplicit-interface -Wsurprising"
- #########
- # Debug #
- #########
+ # Turn off warnings for passing non-ANSI types to BIND().
+ # We pass a lot of hid_t, etc. types so this generates a LOT of spurious warnings.
+ H5_FCFLAGS="$H5_FCFLAGS -Wno-c-binding-type"
- if test $f9x_vers_major -ge 5 -o $f9x_vers_major -eq 4 -a $f9x_vers_minor -ge 5; then
- DEBUG_FCFLAGS="-fcheck=all"
- else
- DEBUG_FCFLAGS="-fbounds-check"
- fi
+ # Production
+ PROD_FCFLAGS=
- ###########
- # Symbols #
- ###########
+ # Debug
+ DEBUG_FCFLAGS="-fbounds-check"
+ # Symbols
SYMBOLS_FCFLAGS="-g"
NO_SYMBOLS_FCFLAGS="-s"
- #############
- # Profiling #
- #############
-
+ # Profiling
PROFILE_FCFLAGS="-pg"
- ################
- # Optimization #
- ################
-
- if test $f9x_vers_major -le 4; then
- HIGH_OPT_FCFLAGS="-O3"
- DEBUG_OPT_FCFLAGS=
- else
- HIGH_OPT_FCFLAGS="-O3"
- DEBUG_OPT_FCFLAGS="-Og"
- fi
+ # Optimization
+ HIGH_OPT_FCFLAGS="-O2"
+ DEBUG_OPT_FCFLAGS="-O0"
NO_OPT_FCFLAGS="-O0"
- ############
- # Warnings #
- ############
-
- ###########
- # General #
- ###########
-
- H5_FCFLAGS="$H5_FCFLAGS -pedantic -Wall -Wextra -Wunderflow -Wimplicit-interface -Wsurprising"
- H5_FCFLAGS="$H5_FCFLAGS -Waliasing -Wcharacter-truncation"
-
- #############################
- # Version-specific warnings #
- #############################
-
- # gfortran 4.3 (nothing new)
-
- # gfortran 4.4
- if test $f9x_vers_major -ge 5 -o $f9x_vers_major -eq 4 -a $f9x_vers_minor -ge 4; then
- H5_FCFLAGS="$H5_FCFLAGS -Warray-temporaries -Wintrinsics-std"
- fi
-
- # gfortran 4.5
- if test $f9x_vers_major -ge 5 -o $f9x_vers_major -eq 4 -a $f9x_vers_minor -ge 5; then
- H5_FCFLAGS="$H5_FCFLAGS -Wimplicit-procedure"
- fi
-
- # gfortran 4.6 (nothing new)
-
- # gfortran 4.7
- if test $f9x_vers_major -ge 5 -o $f9x_vers_major -eq 4 -a $f9x_vers_minor -ge 7; then
- H5_FCFLAGS="$H5_FCFLAGS -Wreal-q-constant -Wfunction-elimination"
- fi
-
- # gfortran 4.8
- if test $f9x_vers_major -ge 5 -o $f9x_vers_major -eq 4 -a $f9x_vers_minor -ge 8; then
- H5_FCFLAGS="$H5_FCFLAGS -Wrealloc-lhs -Wrealloc-lhs-all"
- # Turn off warnings for passing non-ANSI types to BIND().
- # We pass a lot of hid_t, etc. types so this generates a LOT of spurious warnings.
- H5_FCFLAGS="$H5_FCFLAGS -Wno-c-binding-type"
- fi
-
- # gfortran 4.9 (nothing new)
-
- # gfortran 5
- if test $f9x_vers_major -ge 5; then
- H5_FCFLAGS="$H5_FCFLAGS -Wuse-without-only"
- fi
-
- # gfortran 6
- if test $f9x_vers_major -ge 6; then
- H5_FCFLAGS="$H5_FCFLAGS -Winteger-division"
- fi
-
- # gfortran 7 (nothing new)
-
- # gfortran 8
- if test $f9x_vers_major -ge 8; then
- H5_FCFLAGS="$H5_FCFLAGS -Wfrontend-loop-interchange"
- fi
-
- # gfortran 9 (nothing new)
-
- #################
- # Flags are set #
- #################
+ # Flags are set
f9x_flags_set=yes
fi