Mercurial > octave
diff libinterp/corefcn/oct-hdf5-types.h @ 21022:ebc439187d29
avoid old-style cast warnings from HDF5 macros used in C++ sources
* oct-hdf5-types.h (octave_H5E_DEFAULT, octave_H5P_DEFAULT,
octave_H5S_ALL): New global variable declarations.
* coct-hdf5-types.c: New file.
* libinterp/corefcn/module.mk (COREFCN_SRC): Add it to the list.
* ls-hdf5.cc, oct-hdf5.h, ov-base-int.cc, ov-bool-mat.cc,
ov-bool-sparse.cc, ov-bool.cc, ov-cell.cc, ov-class.cc, ov-complex.cc,
ov-cx-mat.cc, ov-cx-sparse.cc, ov-fcn-handle.cc, ov-fcn-inline.cc,
ov-float.cc, ov-flt-complex.cc, ov-flt-cx-mat.cc, ov-flt-re-mat.cc,
ov-range.cc, ov-re-mat.cc, ov-re-sparse.cc, ov-scalar.cc,
ov-str-mat.cc, ov-struct.cc:
Use new variables in place of the corresponding HDF5 macros.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 31 Dec 2015 13:45:43 -0500 |
parents | f7084eae3318 |
children | 1473547f50f5 |
line wrap: on
line diff
--- a/libinterp/corefcn/oct-hdf5-types.h Thu Dec 31 13:39:25 2015 -0800 +++ b/libinterp/corefcn/oct-hdf5-types.h Thu Dec 31 13:45:43 2015 -0500 @@ -23,9 +23,29 @@ #if ! defined (octave_oct_hdf5_types_h) #define octave_oct_hdf5_types_h 1 +#ifdef __cplusplus +// This function only needs to be defined for C++. +extern bool check_hdf5_types (bool warn = true); +#endif + +// Available for C and C++. + typedef int octave_hdf5_id; typedef int octave_hdf5_err; -extern bool check_hdf5_types (bool warn = true); +#ifdef __cplusplus +extern "C" { +#endif + +// These are defined in a C file, so they should have C-linkage in +// both C and C++ source files. + +extern const octave_hdf5_id octave_H5E_DEFAULT; +extern const octave_hdf5_id octave_H5P_DEFAULT; +extern const octave_hdf5_id octave_H5S_ALL; + +#ifdef __cplusplus +} +#endif #endif