summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorScot Breitenfeld <brtnfld@hdfgroup.org>2009-04-28 19:41:42 (GMT)
committerScot Breitenfeld <brtnfld@hdfgroup.org>2009-04-28 19:41:42 (GMT)
commit665f528813749ce6b1ce9afdf104262a65a4a2cd (patch)
tree5839f00d5537981ae08fad294dc46a7a9a0f4efd /config
parent75a7a98214a0a408adff8b90b697682f10a4de77 (diff)
downloadhdf5-665f528813749ce6b1ce9afdf104262a65a4a2cd.zip
hdf5-665f528813749ce6b1ce9afdf104262a65a4a2cd.tar.gz
hdf5-665f528813749ce6b1ce9afdf104262a65a4a2cd.tar.bz2
[svn-r16875] Merged changes from the trunk into the branch:
svn merge -r16602:16869 https://svn.hdfgroup.uiuc.edu/hdf5/trunk Tested on: smirom
Diffstat (limited to 'config')
-rw-r--r--config/gnu-flags77
-rw-r--r--config/lt_vers.am2
2 files changed, 71 insertions, 8 deletions
diff --git a/config/gnu-flags b/config/gnu-flags
index 5fd72f2..fe3eba3 100644
--- a/config/gnu-flags
+++ b/config/gnu-flags
@@ -145,7 +145,17 @@ case "$cc_vendor-$cc_version" in
gcc-2.95.[34])
PROD_CFLAGS="-O3"
;;
- gcc-3.[0-4]*|gcc-4.[0123]*)
+ gcc-4.[34]*)
+ # The optimization level is reduced for gcc 4.[34] due to problems
+ # with code generation for src/H5Tconv.c with the -O (same -O1)
+ # optimization levels (which shows up as failures for long double
+ # types -> signed char conversion in the test/dt_arith test).
+ # There's either a bug in gcc or our code. Need further investigation.
+ # Turn off all optimizations to allow the tests to pass for now.
+ # - AKC - 2009/04/19
+ PROD_CFLAGS="-O0"
+ ;;
+ gcc-3.[0-4]*|gcc-4.[012]*)
# The optimization level is reduced for gcc 3.* and 4.* due to problems
# with code generation for src/H5Tconv.c with the -O2 & -O3
# optimization levels (which shows up as failures for various integer
@@ -153,10 +163,6 @@ case "$cc_vendor-$cc_version" in
# later versions of gcc will fix this bug... - QAK - 2003/10/20
PROD_CFLAGS="-O"
;;
- gcc-4*)
- # Be optimistic about future versions of gcc.. :-) - QAK - 2003/10/20
- PROD_CFLAGS="-O3"
- ;;
*)
PROD_CFLAGS="-O"
;;
@@ -184,10 +190,67 @@ esac
# the information from the previous version and adding modifications to that.
case "$cc_vendor-$cc_version" in
-# Closer to the gcc 4.4 release, we should check for additional flags to
+# Closer to the gcc 4.5 release, we should check for additional flags to
# include and break it out into it's own section, like the other versions
# below. -QAK
- gcc-4.[34]*)
+ gcc-4.[45]*)
+ # Replace -ansi flag with -std=c99 flag
+ H5_CFLAGS="`echo $H5_CFLAGS | sed -e 's/-ansi/-std=c99/g'`"
+
+ # Disable warnings about using 'long long' type
+ H5_CFLAGS="$H5_CFLAGS -Wno-long-long"
+
+ # Append warning flags from gcc-3* case
+ # (don't use -Wpadded flag for normal builds, many of the warnings its
+ # issuing can't be fixed and they are making it hard to detect other,
+ # more important warnings)
+ #H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
+ H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute"
+
+ # Append warning flags from gcc-3.2* case
+ H5_CFLAGS="$H5_CFLAGS -Wmissing-noreturn -Wpacked -Wdisabled-optimization"
+
+ # Enable more format checking flags, beyond the basic -Wformat included
+ # in -Wall
+ H5_CFLAGS="$H5_CFLAGS -Wformat=2"
+
+ # The "unreachable code" warning appears to be reliable now...
+ H5_CFLAGS="$H5_CFLAGS -Wunreachable-code"
+
+ # Append warning flags from gcc-3.3* case
+ H5_CFLAGS="$H5_CFLAGS -Wendif-labels"
+
+ # Append warning flags from gcc-3.4* case
+ H5_CFLAGS="$H5_CFLAGS -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch"
+
+ # Replace old -W flag with new -Wextra flag
+ H5_CFLAGS="`echo $H5_CFLAGS | sed -e 's/-W\ /-Wextra\ /g'`"
+
+ # Append more extra warning flags that only gcc4.0+ know about
+ H5_CFLAGS="$H5_CFLAGS -Wvariadic-macros -Wnonnull -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros"
+
+ # Append more extra warning flags that only gcc 4.1+ know about
+ H5_CFLAGS="$H5_CFLAGS -Wunsafe-loop-optimizations -Wc++-compat"
+
+ # Append more extra warning flags that only gcc 4.2+ know about
+ H5_CFLAGS="$H5_CFLAGS -Wstrict-overflow"
+
+ # Append more extra warning flags that only gcc 4.3+ know about
+ #
+ # Technically, variable-length arrays are part of the C99 standard, but
+ # we should approach them a bit cautiously... -QAK
+ H5_CFLAGS="$H5_CFLAGS -Wlogical-op -Wlarger-than=2048 -Wvla"
+
+ # Append more extra warning flags that only gcc 4.4+ know about
+ H5_CFLAGS="$H5_CFLAGS -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat"
+
+ # Try out the new "stack protector" feature in gcc 4.1
+ # (Strictly speaking this isn't really a "warning" flag, so it's added to
+ # the debugging flags)
+ #DEBUG_CFLAGS="$DEBUG_CFLAGS -Wstack-protector -fstack-protector-all"
+ ;;
+
+ gcc-4.3*)
# Replace -ansi flag with -std=c99 flag
H5_CFLAGS="`echo $H5_CFLAGS | sed -e 's/-ansi/-std=c99/g'`"
diff --git a/config/lt_vers.am b/config/lt_vers.am
index c5af888..c460133 100644
--- a/config/lt_vers.am
+++ b/config/lt_vers.am
@@ -17,7 +17,7 @@
# Add libtool shared library version numbers to the HDF5 library
# See libtool versioning documentation online.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 26
+LT_VERS_REVISION = 29
LT_VERS_AGE = 0
## If the API changes *at all*, increment LT_VERS_INTERFACE and