summaryrefslogtreecommitdiff
path: root/include/sal
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2018-09-10 18:04:04 +0200
committerStephan Bergmann <sbergman@redhat.com>2018-09-11 13:48:55 +0200
commit3b835b8d546ca16d7edcb06eda017e276383ea0f (patch)
tree4d691d7d4fb2756735da020cece19ee1171d9a85 /include/sal
parent3d39dad6d93c979ac64244ecb9acfbd8a5fbd6c6 (diff)
Use [[nodiscard]] in SAL_WARN_UNUSED_RESULT where available
...which required some lax placements of SAL_WARN_UNUSED_RESULT to be fixed. Also, Clang unfortunately is rather picky about the relative order of SAL_WARN_UNUSED_RESULT expanding to [[nodiscard]] and uses of the DLLPUBLIC macros (expanding to __attribute__(...) resp. __declspec(..) for clang-cl). Change-Id: Iae6ca36bef97f1864873aefdb5f05c7f5e045ad3 Reviewed-on: https://gerrit.libreoffice.org/60274 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'include/sal')
-rw-r--r--include/sal/types.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/sal/types.h b/include/sal/types.h
index c6c8b66d351b..875f121db1ae 100644
--- a/include/sal/types.h
+++ b/include/sal/types.h
@@ -292,7 +292,9 @@ typedef void * sal_Handle;
Compilers that support a construct of this nature will emit a compile
time warning on unchecked return value.
*/
-#if (defined __GNUC__ \
+#if defined __cplusplus && HAVE_CPP_ATTRIBUTE_NODISCARD
+#define SAL_WARN_UNUSED_RESULT [[nodiscard]]
+#elif (defined __GNUC__ \
&& (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1))) \
|| defined __clang__
# define SAL_WARN_UNUSED_RESULT __attribute__((warn_unused_result))