summaryrefslogtreecommitdiffstats
path: root/src/H5private.h
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2015-09-10 20:39:44 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2015-09-10 20:39:44 (GMT)
commit54d0a3694785431dee7a46cab56694cf6ba9bde2 (patch)
treedcd703a320feed2218d71e70031735e9367b5ff0 /src/H5private.h
parent95e0bd109f4c9c3d2cd5046c8eb43640845a98fe (diff)
downloadhdf5-54d0a3694785431dee7a46cab56694cf6ba9bde2.zip
hdf5-54d0a3694785431dee7a46cab56694cf6ba9bde2.tar.gz
hdf5-54d0a3694785431dee7a46cab56694cf6ba9bde2.tar.bz2
[svn-r27753] Removed duplicated attribute macro checks. Moved canonical attribute
macro checks from src/H5api_adapt.h to H5private.h, which is where they belong anyway. Tested on: h5committest (manually inspected for attribute warnings)
Diffstat (limited to 'src/H5private.h')
-rw-r--r--src/H5private.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/H5private.h b/src/H5private.h
index 5e968a0..738d4ff 100644
--- a/src/H5private.h
+++ b/src/H5private.h
@@ -288,12 +288,23 @@
/*
* Does the compiler support the __attribute__(()) syntax? It's no
* big deal if we don't.
+ *
+ * Note that Solaris Studio supports attribute, but does not support the
+ * attributes we use.
*/
#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 */
-#ifndef H5_HAVE_ATTRIBUTE
-# define __attribute__(X) /*void*/
+#if defined(H5_HAVE_ATTRIBUTE) && !defined(__SUNPRO_C)
+# 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 */