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