Commit Graph

73 Commits

Author SHA1 Message Date
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
Quincey Koziol
d7b92c34eb [svn-r3400] Purpose:
Code cleaning
Description:
    Moved all gcc compiler flags into the config/gnu-flags file and re-added
    the warning flags removed during the beta testing.
Platforms tested:
    FreeBSD 4.2 (hawkwind)
2001-02-12 11:29:15 -05:00
Quincey Koziol
c6da08f994 [svn-r3335] Purpose:
Config cleanup
Description:
    In production environments, the optimization flag for gcc was set to
    -O6, which has some code-generation problems in certain environments.
Solution:
    Turned optimizations down to -O2, which is still pretty bleeding edge.
Platforms tested:
    FreeBSD 4.2 (hawkwind)
2001-01-30 12:49:20 -05:00
Bill Wendling
c20d60058e [svn-r3314] Purpose:
Feature Fix
Description:
    This checks before printing the warning message about hsizet type if
    the user specified --disable-hsizet on the command line.
Platforms tested:
    Linux
2001-01-19 17:13:50 -05:00
Quincey Koziol
b92ef0f7d0 [svn-r1999] Correctly detect gcc 2.95.x and Pentium Pro|Pentium II|etc. processors. 2000-03-04 13:45:58 -05:00
Robb Matzke
eb8747499d [svn-r1802] Changes since 19991019
----------------------

./MANIFEST
./configure.in
./configure			[REGENERATED]
	Added more checking for `make' features.

./Makefile.in
./doc/Makefile.in
./doc/html/Makefile.in
./doc/html/Tutor/Makefile.in
./examples/Makefile.in
./pablo/Makefile.in
./src/Makefile.in
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
./config/commence.in
./config/conclude.in
./config/depend.in		[REMOVED]
./config/depend1.in		[NEW]
./config/depend2.in		[NEW]
./config/depend3.in		[NEW]
./config/depend4.in		[NEW]
./config/dependN.in		[NEW]
	The directory search stuff was moved into commence.in, thereby
	shortening the Makefile.in prologues.

./doc/html/Dependencies		[NEW]
./doc/html/Tutor/Dependencies	[NEW]
./examples/Dependencies		[NEW]
./src/Dependencies		[NEW]
./test/Dependencies		[NEW]
./testpar/Dependencies		[NEW]
./tools/Dependencies		[NEW]
	The `.distdep' files were all renamed to `Dependencies' to make them
	more obvious. They are required (but may be empty) in every directory
	that has a Makefile.in that ends with @CONCLUDE@ (you'll get an
	obvious error from make if you forgot to create one).

./bin/trace
./src/H5.c
	Added H5E_major_t and H5E_minor_t although tracing only prints the
	integer value.

./src/H5E.c
./src/H5Epublic.h
	Added tracing information.

./src/H5FDcore.c
./src/H5FDfamily.c
./src/H5FDgass.c
./src/H5FDmpio.c
./src/H5FDsec2.c
./src/H5FDstdio.c
	Fixed places where FUNC_LEAVE() evaluated it's argument more than
	once.

	Added tracing information.

	Wrapped long lines.

./config/gnu-flags
	Fixed a syntax error when we don't have a gnu compiler.
1999-11-01 10:21:16 -05:00
Robb Matzke
cbf68fc824 [svn-r1568] Changes since 19990730
----------------------

This extensive change is the virtual file layer implementation. I've
ported and tested the sec2, family, and core drivers and only ported
the mpio driver (Albert will test it).  So if you need MPIO I would
recommend sticking with the previous version for a while.

You will get a few compile warnings about split and stdio drivers not
being implemented and possibly tracing information not inserted in
some of the drivers. You can safely ignore them but I plan to fix
them.

I'm still working on the split driver because I just realized that it
needs a part of the VFL that isn't written yet.

Documentation is being updated also because there were some minor
changes (mostly just name changes). It should be available on my web
site later this week.

./MANIFEST
./src/Makefile.in
./src/hdf5.h
./src/H5Flow.c			[REMOVED]
./src/H5Fstdio.c		[REMOVED]
./src/H5Fsec2.c			[REMOVED]
./src/H5Fsplit.c		[REMOVED]
./src/H5Fmpio.c			[REMOVED]
./src/H5Ffamily.c		[REMOVED]
./src/H5Fcore.c			[REMOVED]
./src/H5MFpublic.h		[REMOVED]
./src/H5FD.c			[NEW]
./src/H5FDcore.c		[NEW]
./src/H5FDcore.h		[NEW]
./src/H5FDfamily.c		[NEW]
./src/H5FDfamily.h		[NEW]
./src/H5FDmpio.c		[NEW]
./src/H5FDmpio.h		[NEW]
./src/H5FDprivate.h		[NEW]
./src/H5FDpublic.h		[NEW]
./src/H5FDsec2.c		[NEW]
./src/H5FDsec2.h		[NEW]
	Removed/added files for virtual file layer.

./bin/trace
./src/H5.c
	Removed unused public datatypes and added new VFL public
	datatypes.

	Changed an error message.

./config/BlankForm
./config/dec-flags
./config/gnu-flags
./config/hpux10.20
./config/hpux9.03
./config/irix5.x
./config/irix6.x
./config/solaris2.x
./config/unicosmk
	Removed the H5F_OPT_SEEK and H5F_LOW_DFLT constants from the
	configuration since they're no longer applicable. The default
	file driver is always the sec2 driver and it always optimizes
	calls to lseek() or lseek64().

./config/depend.in
	C preprocessor errors generated during automatic dependency
	building are sent to /dev/null to prevent them from appearing
	twice in the make output.

./src/H5AC.c
./src/H5B.c
./src/H5D.c
./src/H5F.c
./src/H5G.c
./src/H5Gent.c
./src/H5Gnode.c
./src/H5HG.c
./src/H5HL.c
./src/H5O.c
./src/H5Oattr.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Oshared.c
./src/H5T.c
./src/H5detect.c
./test/ohdr.c
	Changed H5F_ADDR_UNDEF to HADDR_UNDEF to be more consistent
	with the `haddr_t' datatype which is now a public type.

./src/H5D.c
./src/H5P.c
./src/H5Ppublic.h
./src/H5Tconv.c
./test/cmpd_dset.c
./test/dsets.c
./test/overhead.c
./test/tselect.c
./test/tvltypes.c
	The H5P_DATASET_XFER constant was changed to H5P_DATA_XFER
	because the properties apply to all types of I/O operations,
	not just datasets.

./src/H5B.c
./src/H5Bprivate.h
./src/H5D.c
./src/H5Dpublic.h
./src/H5F.c
./src/H5Farray.c
./src/H5Fistore.c
./src/H5Fprivate.h
./src/H5Fpublic.h
./src/H5Gnode.c
./src/H5Gpkg.h
./src/H5HG.c
./src/H5HL.c
./src/H5O.c
./src/H5R.c
./src/H5Sall.c
./src/H5Shyper.c
./src/H5Smpio.c
./src/H5Spoint.c
./src/H5Sprivate.h
./test/big.c
./test/h5test.c
./test/istore.c
./testpar/t_dset.c
./testpar/t_file.c
./tools/h5debug.c
./tools/h5ls.c
	Modified to work with the virtual file layer by calling H5FD_*
	functions instead of H5F_low_* functions and by passing file
	access and data transfer properties by object ID instead of
	pointer.

	Changed H5D_transfer_t to H5FD_mpio_xfer_t since the
	COLLECTIVE vs. INDEPENDENT transfer mode is specific to the
	MPIO file driver.

	Moved MPIO-specific stuff into the MPIO driver.

./src/H5B.c
./src/H5D.c
./src/H5Fprivate.h
	The H5F_mpio_* private functions were renamed and placed in
	the H5FDmpio driver except those which appeared in H5Smpio.c.

./src/H5E.c
./src/H5Epublic.h
	Added major error number H5E_VFL for virtual file layer
	related errors.

./src/H5F.c
./src/H5Fprivate.h
	Changed the logic that controls whether the boot block is
	written. Instead of assuming that the first call to write the
	boot block is only to allocate space, I've added a function
	argument which makes this explicit.

	Changed the way files are compared so that a driver-defined
	comparison function can be called.  Files which belong to
	different drivers are always considered different.

	Removed H5F_driver_t since file drivers are now identified by
	object ID instead of a special non-user-extendible datatype.

	Removed all the hard-coded low-level file properties which
	have been replaced by the various file drivers.

./src/H5I.c
./src/H5Iprivate.h
	Added the H5I_inc_ref() which was removed a few months ago
	since we finally have a use for it.

./src/H5Ipublic.h
	Added the H5I_VFL object ID type to identify file drivers in
	the virtual file layer.

./src/H5MF.c
./src/H5MFprivate.h
	Moved all the allocation/deallocation code into the virtual
	file layer which allows file drivers to override much of it.

./src/H5P.c
./src/H5Ppublic.h
	Moved file driver-specific code into the various file driver
	files.

	The H5Pcopy() and H5Pclose() functions make calls into the
	virtual file driver to manage the memory for driver-specific
	file access and data transfer properties.

./src/H5private.h
./src/H5public.h
	The `haddr_t' type is now public.

./test/tfile.c
	Added a few more comments.
1999-08-10 15:21:32 -05:00
Robb Matzke
139688863f [svn-r1547] Changes since 19990723
----------------------
NOTE: These bug fixes but have been applied only to the 1.3 branch per
      Albert's request.

./config/gnu-flags	[1.3]
	Added support for gcc-2.95 by adding full optimization and
	debugging flags and applied a patch from Marcus Daniels.

./src/Makefile.in	[1.3]
	Removes the `libhdf5.settings' file for `make clean'.
1999-07-27 15:33:40 -05:00
Robb Matzke
f30fb44939 [svn-r1475] ./config/gnu-flags [1.2, 1.3]
A warning is printed for all versions of EGCS before 2.91.67.
1999-07-13 12:58:46 -05:00
Robb Matzke
cc2184b6ef [svn-r1240] Changes since 19990427
----------------------

./tools/h5ls.c
	Added a `--address' (`-a') switch which causes h5ls to display
	file addresses for raw data. For contiguous datasets it's just
	a nice simple number, but for chunked datasets it's a list of
	logical dataset coordinates, file addresses, filter masks, and
	storage sizes.

	Changed `--dump' switch to `--data'.

./src/H5D.c
./src/H5F.c
./src/H5Fprivate.h
	Enhanced the indexed-storage B-tree iterator so it can dump
	raw data addresses (and other info) to the standard error
	stream.

	Added H5Ddebug() so h5ls has a way to dump addresses for
	datasets. I'm not sure what else this API function should do,
	so I think we should discuss it before we document it. So far,
	h5ls is the only thing that uses it, and we can easily change
	that.

./src/H5Tconv.c
./test/dtypes.c
	Finally had a chance to verify Paul's H5T_conv_s_s (general
	string to string conversions) bug fixes and incorporate them
	into H5T_conv_f_f (general floating-point to floating-point
	conversions) and H5T_conv_i_i (general integer to integer
	conversons). Thanks Paul.

./src/H5D.c
./src/H5S.c
./src/H5Sprivate.h
	Added performance timers around data space read and write
	callbacks. They were already there for the gather/scatter
	callbacks.

	The timings for read/write callbacks are displayed along with
	gather/scatter when data space debugging is turned on.

./bin/iostats
	Updated to print totals. Added a `--fast' option that doesn't
	do any output except the totals and is much faster.

./bin/trace
	Changed __unused__ to UNUSED to match source code.

./config/gnu-flags
	Updated error message for pgcc. I've sent bug reports to the
	pgcc people but the new version still has the same bug.

./configure.in
./config/conclude.in
./config/depend.in
	Fixed dependencies for non-GNU makes when run in a directory
	other than the hdf5 source tree.

	Updated GNU `make dep' rules to copy the distributed
	dependencies for non-GNU makes into the source tree when run
	in some other directory.
1999-04-30 10:54:52 -05:00
Robb Matzke
d534a4dd0d [svn-r1204] Changes since 19990415
----------------------

./config/depend.in
	Fixed automatic dependencies. We were storing dependencies for
	*.o files instead of *.lo files after shared libraries were
	added.

./config/gnu-flags
./config/linux-gnulibc1
	Moved `-march=pentiumpro -mcpu=pentiumpro -malign-double' from
	the linux file to this file and caused it to depend on the CPU
	name.  This fixes one of Elena's bugs.

./src/H5B.c
./src/H5Bprivate.h
./src/H5D.c
./src/H5Dprivate.h
./src/H5Dpublic.h
./src/H5F.c
./src/H5Farray.c
./src/H5Fistore.c
./src/H5Fmpio.c
./src/H5Fprivate.h
./src/H5Fpublic.h
./src/H5Gnode.c
./src/H5P.c
./src/H5RA.c
./src/H5Sall.c
./src/H5Shyper.c
./src/H5Smpio.c
./src/H5Spoint.c
./src/H5Sprivate.h
./src/H5Tpublic.h
./test/istore.c
	Added an H5Dget_storage_size() function that reports the
	amount of storage allocated for raw data in a dataset.

	Changed H5D_xfer_* to H5F_xfer_* because these properties are
	more general than datasets. This also allows some of the
	lower-level I/O functions to get this information easier.

./src/H5S.c
./src/H5Sall.c
	Added two new functions H5S_all_read() and H5S_all_write()
	which are optimizations that copy data directly between file
	and memory without having to go through the scatter gather
	step.  This knocks quite a bit of time off the I/O and
	reading/writing entire datasets is a fairly common operation.

./tools/h5ls.c
	Reports the logical size of data, the allocated size of data,
	and the percent utilization.

./MANIFEST
	Removed old pablo files, added new files. Snapshots should now
	start to work again.

./src/H5D.c
./src/H5Fmpio.c
	Removed two warnings signed vs. unsigned comparisons and check
	for overflow.
1999-04-23 07:31:21 -05:00
Robb Matzke
96320e69c0 [svn-r1117] Changes since 19990303
----------------------

./configure.in
./configure		[REGENERATED]
	The path for a command is calculated explicitly the hard way
	because `type -path' isn't portable.

./config/freebsd
./config/linux-gnu
./config/linux-gnulibc2
	Changed the way files reference each other.

./config/gnu-flags	[NEW]
./config/dec-flags	[NEW]
	These files figure out what flags to pass to certain compilers
	so we can reuse code in more than one config/* file.  They
	also have better warning messages when old compilers are used.

./config/linux-gnulibc1
./config/dec-osf4.x
	These files use the new *-flags files.


./src/H5D.c
./src/H5Onull.c
./src/H5Tconv.c
./tools/h5ls.c
	Fixed a compiler warning.

./src/H5detect.c
	Added a better comment to the top of the generated file.
1999-03-04 15:22:42 -05:00