summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlbert Cheng <acheng@hdfgroup.org>2009-04-20 05:03:41 (GMT)
committerAlbert Cheng <acheng@hdfgroup.org>2009-04-20 05:03:41 (GMT)
commitd380fe5398b60894a81c73b4ef9ccc5fcadafbc2 (patch)
treecd26a9edf90e4d5558d809ebfe235ef28ee5288b
parent3489809ca55b4ec1055e3a9d955d4676f8b6c6c1 (diff)
downloadhdf5-d380fe5398b60894a81c73b4ef9ccc5fcadafbc2.zip
hdf5-d380fe5398b60894a81c73b4ef9ccc5fcadafbc2.tar.gz
hdf5-d380fe5398b60894a81c73b4ef9ccc5fcadafbc2.tar.bz2
[svn-r16790] Bug Fix (Bug 1398):
For gcc v4.3 and v4.4, with production mode, if -O3 is used, H5Tinit.c would fail to compile. Actually bad H5Tinit.c is produced. If -O (same as -O1) is used, H5Tinit.c compiled okay but test/dt_arith would fail with: Testing hard normalized long double -> signed char conversions time: comm and terminated abnormally When -O0 (no optimizatio) is used, H5Tinit.c compilete okay and all tests passed. Solution: Changed the config/gnu-flags to use -O0 for gcc v4.3 and 4.4 for production flags for now so that build and tests would work. Still need to investigate if the error is due to Gcc optimization bug or our code errors. Tested: In liberty with gcc43 and gcc44. Also, tested in jam and smirom with older versions of gcc. There are no gcc 43 or 44 compilers installed in other THG machines that I know.
-rw-r--r--config/gnu-flags16
1 files changed, 11 insertions, 5 deletions
diff --git a/config/gnu-flags b/config/gnu-flags
index 5fd72f2..c99a664 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"
;;