summaryrefslogtreecommitdiffstats
path: root/src/H5api_adpt.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5api_adpt.h')
-rw-r--r--src/H5api_adpt.h21
1 files changed, 17 insertions, 4 deletions
diff --git a/src/H5api_adpt.h b/src/H5api_adpt.h
index 7602310..52167d0 100644
--- a/src/H5api_adpt.h
+++ b/src/H5api_adpt.h
@@ -21,12 +21,25 @@
#ifndef H5API_ADPT_H
#define H5API_ADPT_H
+/*
+ * Does the compiler support the __attribute__(()) syntax? It's no
+ * big deal if we don't.
+ */
#ifdef __cplusplus
-#define __attribute__(X) /*void*/
+# define H5_ATTR_FORMAT(X,Y,Z) /*void*/
+# define H5_ATTR_UNUSED /*void*/
+# define H5_ATTR_NORETURN /*void*/
+#else /* __cplusplus */
+#ifdef H5_HAVE_ATTRIBUTE
+# define H5_ATTR_FORMAT(X,Y,Z) __attribute__((format(X, Y, Z)))
+# define H5_ATTR_UNUSED __attribute__((unused))
+# define H5_ATTR_NORETURN __attribute__((noreturn))
+#else
+# define H5_ATTR_FORMAT(X,Y,Z) /*void*/
+# define H5_ATTR_UNUSED /*void*/
+# define H5_ATTR_NORETURN /*void*/
+#endif
#endif /* __cplusplus */
-#ifndef H5_HAVE_ATTRIBUTE
-#define __attribute__(X) /*void*/
-#endif /* H5_HAVE_ATTRIBUTE */
/* This will only be defined if HDF5 was built with CMake */
#ifdef H5_BUILT_AS_DYNAMIC_LIB