[svn-r18630] Description:

Fix remaining aliasing problems and enable optimizations w/gcc now.  This
addresses the remaining issues for Bug#1398.

Tested on:
    FreeBSD/32 6.3 (duty) in debug mode
    FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
    Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
        w/C++ & FORTRAN, w/threadsafe, in debug mode
    Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
        w/C++ & FORTRAN, in production mode
    Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
        w/szip filter, in production mode
    Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
        in production mode
    Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
    Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
    Mac OS X/32 10.6.3 (amazon) in debug mode
    Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe,
        in production mode
This commit is contained in:
Quincey Koziol 2010-04-26 19:37:04 -05:00
parent 79a3ae8b6a
commit 5e7595c546
2 changed files with 418 additions and 347 deletions

View File

@ -147,23 +147,11 @@ case "$cc_vendor-$cc_version" in
gcc-2.95.[34])
PROD_CFLAGS="-O3"
;;
gcc-4.[345]*)
# The optimization level is reduced for gcc 4.[345] 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.*)
PROD_CFLAGS="-O3"
;;
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
# types -> long long conversions in the test/dtypes test). Perhaps
# later versions of gcc will fix this bug... - QAK - 2003/10/20
PROD_CFLAGS="-O"
gcc-4.*)
PROD_CFLAGS="-O3"
;;
*)
PROD_CFLAGS="-O"

File diff suppressed because it is too large Load Diff