summaryrefslogtreecommitdiff
path: root/libodb/odb/details/unused.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'libodb/odb/details/unused.hxx')
-rw-r--r--libodb/odb/details/unused.hxx21
1 files changed, 21 insertions, 0 deletions
diff --git a/libodb/odb/details/unused.hxx b/libodb/odb/details/unused.hxx
new file mode 100644
index 0000000..8364c44
--- /dev/null
+++ b/libodb/odb/details/unused.hxx
@@ -0,0 +1,21 @@
+// file : odb/details/unused.hxx
+// license : GNU GPL v2; see accompanying LICENSE file
+
+#ifndef ODB_UNUSED_DETAILS_HXX
+#define ODB_UNUSED_DETAILS_HXX
+
+#include <odb/pre.hxx>
+
+// VC++ and xlC don't like the (void)x expression if x is a reference
+// to an incomplete type. On the other hand, GCC warns that (void*)&x
+// doesn't have any effect.
+//
+#if defined(_MSC_VER) || defined(__xlC__)
+# define ODB_POTENTIALLY_UNUSED(x) (void*)&x
+#else
+# define ODB_POTENTIALLY_UNUSED(x) (void)x
+#endif
+
+#include <odb/post.hxx>
+
+#endif // ODB_UNUSED_DETAILS_HXX