Commit Graph

61 Commits

Author SHA1 Message Date
Quincey Koziol
5e7595c546 [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
2010-04-26 19:37:04 -05:00
Quincey Koziol
e059d5bcb3 [svn-r18605] Description:
Add new warning flags for gcc 4.5.x

Tested on:
    FreeBSD/32 6.3 (duty) w/gcc 4.5
    FreeBSD/64 6.3 (liberty) w/gcc 4.5
2010-04-22 05:58:27 -05:00
Albert Cheng
7c4b1edcdb [svn-r17248] Bug fix (1301 & 1468)
PathScale was mistaken as the Gcc compiler such that gcc flags were added
to it but PathScale did not honor many of them. (e.g. -Wvariadic-macros,
-Wold-style-definition, -Winit-self, -Wvariadic-macros, -Wmissing-include-dirs,
-Winit-self, -Wc++-compat)

Solution:
Added a pre-condition to detect pathScale compiler before Gcc is
accepted.

Tested:
Sandia Glory where PathScale compiler is available.
2009-07-27 19:28:24 -05:00
Quincey Koziol
b1f8b21130 [svn-r16845] Description:
Updated with new warning flags from gcc 4.4

Tested:
    FreeBSD/64 6.3 (liberty) w/gcc 4.4.0
2009-04-23 12:31:34 -05:00
Albert Cheng
476cbeda79 [svn-r16789] 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.
2009-04-20 00:00:44 -05:00
Allen Byrne
0e8b751973 [svn-r16492] revert gcc PROD_CFLAGS to "-O", which was incorrectly changed by rev 16489. 2009-02-19 12:42:03 -05:00
Allen Byrne
5d69e87ff0 [svn-r16489] Fixed bug #1459 by eliminating the macro long_long and replacing all instances with long long.
Tested:
   h5comittest
   fedora 10 x64
   Vista 32, VS2005, IVF101
   XP32, Cygwin
2009-02-18 15:02:05 -05:00
Quincey Koziol
00bd6ae9c2 [svn-r15674] Description:
Add base support for extensible array "data blocks" to code, tests and
h5debug.

Tested on:
        Mac OS X/32 10.5.4 (amazon) in debug mode
        Mac OS X/32 10.5.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
                                in production mode
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) 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 production mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
2008-09-22 10:22:03 -05:00
Quincey Koziol
8e4793bf31 [svn-r15213] Description:
Fix gcc 4.2 flag that was put in gcc 4.1 section

Tested on:
	Eyeballed & man pages
2008-06-13 07:27:00 -05:00
Quincey Koziol
97b6832023 [svn-r15211] Description:
Update the gcc flags for version 4.3

	Clean up warnings

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.5.3 (amazon) in debug mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
2008-06-12 23:52:22 -05:00
Mike McGreevy
389cc309c5 [svn-r15007] Purpose: configure cleanup
Description: cleaning up configure related to removal of --disable-hsizet
             flag, which we no longer support.

Tested: kagiso
2008-05-15 11:42:03 -05:00
Elena Pourmal
4e094b5ee3 [svn-r14944] Maintenance: Disabled -O3 optimization for gcc 4.3 2008-05-06 14:29:56 -05:00
Albert Cheng
914fbdcc67 [svn-r13312] Updated copyright notice. 2007-02-14 17:29:52 -05:00
Quincey Koziol
058eb9921d [svn-r12609] Description:
Comment out the use of the "-Wpadded" flag, it's generating far too many
warnings that are impossible to correct and probably making it harder to see
other warnings that are more important.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-08-22 12:08:23 -05:00
James Laird
5740dd95a4 [svn-r12301] Purpose:
H5_CFLAGS change

Description:
Converted a few platforms to use H5_CFLAGS to "test the waters"

Solution:
Modified a few config/* files to use H5_CFLAGS for non-essential
flags.

Platforms tested:
mir, heping
2006-04-25 16:19:14 -05:00
James Laird
d88d363ef9 [svn-r12154] Purpose:
Removed -march flag

Description:
The -march optimization flag is bad in some circumstances

Solution:
Prevented HDF5 from adding the -march archicture-specific optimization
flag, so that users could have one version of HDF5 used by
several different machines.

Platforms tested:
heping (one of the few platforms that affected by this small change)
2006-03-24 15:28:01 -05:00
Quincey Koziol
1bba04f3e5 [svn-r11852] Purpose:
Code cleanup/update

Description:
    Update compiler flags for gcc 4.1.x & start cleaning up some of the C++
compatibility

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/gcc 4.1 and/or g++
2006-01-02 14:59:11 -05:00
Quincey Koziol
bee84bf3b9 [svn-r11834] Purpose:
Bug fix

Description:
    Tone down the optimization flags for gcc 4.2.x in the same way as we
do for all the other gcc 3/4 builds, to avoid datatype conversion issues.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/gcc 4.2
    Not tested by h5committest
2005-12-24 01:43:05 -05:00
Frank Baker
25733372e4 [svn-r11614]
Description:
    Correct typo in copyright notice.
Platforms tested:
    Ran hdf5/bin/chkcopyright without errors.
2005-10-28 15:28:20 -05:00
Frank Baker
155d762b9c [svn-r11592]
Description:
    Add source code copyright notice; comment symbols vary by type of file.
Platforms tested:
    No changes that should cause any problems.  Nonetheless, the tree will
    be checked out fresh and tests run immediately post-commit.
2005-10-21 09:54:41 -05:00
Quincey Koziol
6f06567887 [svn-r10723] Purpose:
Bug fix (sorta)

Description:
    Turn down the optimization level for gcc 4.1 also.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Not tested w/h5committest
2005-05-04 11:13:07 -05:00
Quincey Koziol
c731eb9d37 [svn-r9569] Purpose:
Update flags

Description:
    Update gcc compiler flags to support the early gcc 4.0 snapshots available
on sleipnir

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/gcc 4.0 snapshot
    Too minor to require h5committest
2004-11-23 22:25:19 -05:00
Quincey Koziol
86d0132279 [svn-r9407] Purpose:
Code cleanup/bug fix

Description:
    Remove the undocumented "$NOFP" shell variable which would allow production
builds without removing the stack frame.  This was cascading between C and
FORTRAN builds and causing problems.

Solution:
    Hard-code removing the stack frame for now.  Users would have needed to
read the configure scripts anyway, so there's not really much benefit to the
extra knob.  Users who need this functionality (production builds with stack
frames) are debugging probably, so they will need to modify the script and
build their own version of the library now.

Platforms tested:
    Linux 2.4 (verbena)
    Too minor to require h5committest
2004-10-12 11:11:27 -05:00
Quincey Koziol
951d6d826a [svn-r9385] *** empty log message *** 2004-10-08 21:39:07 -05:00
Albert Cheng
dd4163f3ab [svn-r8884] Purpose:
Bug fix

Description:
It uses the value of $ARCH as a gcc option but the linux clusters
at NCSA define $ARCH as environment variable with values that are
not a valid compiler option.  That caused the configure to fail
because it was not able to compile at all.

Solution:
Change ARCH to lower case $arch (convention dictates environment
variables are upper cases.)  Also preset $arch to null and do not
honor any pass it values.

Platforms tested:
Attempted to run h5committest but sol was failing due to /tmp
filled.  Copper and verbena passed.  Also passed in TG-NCSA.

Misc. update:
2004-07-15 16:51:43 -05:00
Quincey Koziol
3feea448dc [svn-r8728] Purpose:
Code cleanup & addition

Description:
    Add new warnings for gcc 3.4.x

    Re-work production mode compile flags to work better.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    h5committest
2004-06-23 10:30:26 -05:00
Quincey Koziol
73b756fe33 [svn-r8235] Purpose:
Bug fix

Description:
    Fix build on sparc64 platform for FreeBSD by modifying the config/gnu-flags
to not insert '-march=i686' on non-Intel platforms.  (This change allows HDF5
to run correctly on all five of the main FreeBSD platforms... :-)

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest not run since it's a FreeBSD-specific fix.
2004-03-06 21:26:31 -05:00
Quincey Koziol
896fa1c409 [svn-r8131] Purpose:
Bug fix

Description:
    Add the debugging flag (-g) to profiling builds.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too obscure for h5committest
2004-01-31 10:13:41 -05:00
Albert Cheng
5f16e07bbf [svn-r8118] Purpose:
improvement.

Description:
Created an entry for 2.96 and added -Wno-long-long to the CFLAGS
to suppress the thousands of 'long long' warnings because we are
using it and we know it is not in the C89 standard.

Platforms tested:
Only in verbena.

Misc. update:
2004-01-27 18:25:00 -05:00
Quincey Koziol
6042adf10b [svn-r8115] Purpose:
Bug fix

Description:
    Update gcc 3.4 flags to reduce optimization level to the same settings
as for gcc 3.0-3.3 due to code generation bugs at higher optimization levels.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
2004-01-27 09:43:36 -05:00
Quincey Koziol
8eae8e9ee6 [svn-r7895] Purpose:
Bug fix

Description:
    Correct typo in gcc 2.96 warning
2003-11-27 08:03:40 -05:00
Quincey Koziol
2bffbf2943 [svn-r7890] Purpose:
Add warning

Description:
    Warn users about known bugs for gcc 2.96

Platforms tested:
    Titan (user02)
    Does not apply to h5committest
2003-11-26 12:04:29 -05:00
Quincey Koziol
222e001c1d [svn-r7684] Purpose:
Bug fix

Description:
    Reduce optimization level from -O3 to -O for gcc 3.*, since it seems to
be generating bad code for the atomic type conversions now...

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    Linux 2.4 (eirene, verbena)
    h5committest not necessary, this is a GNU-only change.
2003-10-20 23:08:51 -05:00
Bill Wendling
0603e2db00 [svn-r7269] Purpose:
Update

Description:
    Revamped the configuration system. The configurations for the Fortran
    and C++ libraries are no longer separate from the "main"
    configuration system. This involved removing the "configure*" and
    "aclocal.m4" files from the fortran/ and c++/ subdirectories. Also
    merging settings in the config/ subdirectories into the main config/
    subdirectory.

    Fortran header files had to be modified a little for Linux. It was
    checking if it was a Linux machine by some #defines, however with the
    -std=c99 switch, these defines weren't there. I added a check for
    some other ones which should be there whether the -std=c99 switch is
    used or not.

Platforms tested:
    Verbena (Fortran & C++)
    Sol (Fortran & C++)
    Copper (Fortran & C++)
    Modi4 (Parallel, Fortran, & C++)

Misc. update:
2003-07-28 16:38:04 -05:00
Quincey Koziol
b43ff847ee [svn-r6876] Purpose:
Code cleanup

Description:
    Remove special optimization and debugging flags for obsolete versions of
gcc.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest not needed.
2003-05-15 13:52:07 -05:00
Quincey Koziol
774b4724b1 [svn-r6792] Purpose:
Initial pass for gcc3.3 support

Description:
    Added section for gcc 3.3+ and cleaned up the gcc 3.2+ section a little.

Platforms tested:
    FreeBSD 4.8 (sleipnir) w/gcc 3.3 snapshot
    Triple check unneeded.
2003-05-02 09:31:08 -05:00
Quincey Koziol
3b6e9ff03c [svn-r6440] Purpose:
Bug fix.

Description:
    -O2 -finline-functions still causes production builds on eirene to fail.

Solution:
    Downgrade optimization on gcc 2.95.x (x<3) to -O -finline-functions

Platforms tested:
    Linux 2.2 (eirene)
2003-02-27 07:26:27 -05:00
Quincey Koziol
55a42d534a [svn-r6439] Purpose:
Bug fix w/gcc 2.95.x where x<3

Description:
    -O3 optimization level causes problems for gcc 2.95.2 on eirene

Solution:
    Only enable -O3 if using gcc 2.95.x (where x>=3) or gcc 3

    Otherwise, use older setting of -O2 -finline-functions

Platforms tested:
    FreeBSD 4.7 (sleipnir)
    Linux 2.2 (eirene)
2003-02-26 14:55:27 -05:00
Quincey Koziol
946c606452 [svn-r6411] Purpose:
Code cleanup

Description:
    Clean up miscellaneous warnings which have crept into the code.

    Fix "_POSIX_C_SOURCE not defined" warning on FreeBSD.

    Adjust gcc compiler flags to be more concise for production mode.

    Refactor the H5O code so that there is a stronger boundary between code
    in the H5O package and code in the library which just calls H5O routines.

Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}
    FreeBSD 4.7 (sleipnir) serial & parallel and gcc 2.95.4 & gcc 3.2.2

Misc. update:
    Update MANIFEST if you add or remove any file.
2003-02-17 10:54:15 -05:00
Quincey Koziol
ce5dca112e [svn-r6274] Purpose:
Code cleanup

Description:
    Added gcc 3.2-specific warnings.

Platforms tested:
    FreeBSD 4.7 (sleipnir) w/gcc 3.2.1
2003-01-13 12:16:50 -05:00
Quincey Koziol
ad39fcd690 [svn-r5919] Purpose:
Cleanup

Description:
    Cleanup gcc cases to be more general about gcc 3.x, now that gcc 3.2 has
    been released.

Platforms tested:
    FreeBSD 4.6 (sleipnir) - not a significant enough change to worry about
    multi-platform testing.
2002-09-11 16:31:13 -05:00
Bill Wendling
8e13c3a260 [svn-r5396] Purpose:
Bug Fix
Description:
    Placed quotes around strings which could be empty so that the shell
    script doesn't complain to us about "too many arguments for test"
    problems.
Platforms tested:
    Linux
2002-05-10 16:05:06 -05:00
Quincey Koziol
f3671809b5 [svn-r5309] Purpose:
Configure cleanup

Description:
    Neaten up file a bit more...

Platforms tested:
    Linux 2.2 (eirene) with gcc 2.95.2 and Solaris 2.6 (baldric) with gcc 2.8.1
2002-05-01 10:14:52 -05:00
Quincey Koziol
80de8bccb9 [svn-r5304] Purpose:
Configure cleanup

Description:
    Fine-tune the gcc version checks a bit more...

Platforms tested:
    FreeBSD 4.5 (sleipnir) with gcc 2.95.3 and gcc 3.1 (prerelease) and
    Solaris 2.6 (baldric) with gcc 2.8.1
2002-05-01 09:15:35 -05:00
Quincey Koziol
2491fa05d4 [svn-r5302] Purpose:
Configuration improvements

Description:
    Added more warning flags to gcc builds, especially with gcc 3+.  Also, added
    the -Wno-long-long flag to gcc builds to turn off the annoying "long long"
    warnings.

Platforms tested:
    FreeBSD 4.5 (sleipnir) with gcc 2.95.3 and gcc 3.1 (prerelease)
2002-05-01 08:30:54 -05:00
Bill Wendling
1b89fa3640 [svn-r4408]
Purpose:
	Feature Addition
Description:
	Added support for gcc 3.0.x. GCC 3.0.x supports the C99
	specification. The "-std=c99" gets rid of those annoying "warning
	long long not supported by ANSI standard" messages.
Platforms tested:
	Linux and gcc 3.0.1
2001-08-23 12:14:06 -05:00
Quincey Koziol
00f62b983a [svn-r4213] Purpose:
Bug fix... (sorta)
Description:
    Added --enable-linux-lfs configure flag to have better control over whether
    the enable large file support on Linux machines.  Also removed the
    -malign-double flag for gcc since it can potentially cause errors which
    are difficult to detect.
Platforms tested:
    Linix 2.2 & 2.4 (eirene and dangermouse)
2001-07-16 11:40:56 -05:00
Quincey Koziol
5f113eac84 [svn-r4016] Purpose:
Code cleanup
Description:
    Get ready for adding C99 extensions sometime in the future.
Solution:
    Added some comments to the gcc flags..
Platforms tested:
    Linux (eirene), FreeBSD 4.3 (hawkwind)
2001-06-19 11:19:34 -05:00
Bill Wendling
93129f271e [svn-r3892] Purpose:
Better Mouse Trap^W^WBug Fix
Description:
    Instead of having the large file support stuff be in the
    config/gnu-flags directory, I added it to the configure.in file so
    that it first checks for the syscall ``getdents64()''. If it finds
    it, then it removes the ``-malign-double'' flag if the GCC compiler
    is 2.95.x since this flag doesn't play well with the LFS stuff.
Solution:
    Added test for getdents64(), if found it removes the -malign-double
    flag if the compiler is 2.95.x. This is done in the configure.in
    file. The gnu-flags file is returned to normal. A new field is added
    to the H5config.h.in file because of the getdents64 check.
Platforms tested:
    Linux
2001-05-08 13:42:42 -05:00
Bill Wendling
4a72a04048 [svn-r3891] Purpose:
Bug Fix
Description:
    Linux does actually support 64 bit files (those greater than 2GB),
    you just have to defined a bunch of, seemingly meaningless, macros in
    order to coax glibc to work with you. 64 bit file support is in the
    2.3 and above kernels by default. For lower, well...upgrade or
    something. The one weird thing, the "-mdouble-align" flag was causing
    hdf5 to barf when the large file support was compiled in there. It
    has something to do with the structures and their alignment or
    something. Very weird.
Solution:
    Added a test to see if we're on a Linux boxen with kernel >2.3 and if
    so then specify the flags for LFS support. Removed the -mdouble-align
    flag if we do use LFS support since it causes damage.
Platforms tested:
    Linux (Dangermouse)
2001-05-07 19:04:50 -05:00