diff options
-rw-r--r-- | config_host/config_global.h.in | 3 | ||||
-rw-r--r-- | configure.ac | 9 | ||||
-rw-r--r-- | include/sal/types.h | 2 |
3 files changed, 5 insertions, 9 deletions
diff --git a/config_host/config_global.h.in b/config_host/config_global.h.in index 8c0be58faba7..2e986fbe24b6 100644 --- a/config_host/config_global.h.in +++ b/config_host/config_global.h.in @@ -21,9 +21,6 @@ Any change in this header will cause a rebuild of almost everything. /* Compiler supports __attribute__((warn_unused)). */ #define HAVE_GCC_ATTRIBUTE_WARN_UNUSED 0 -/* [[nodiscard]] (C++17), __has_cpp_attribute(nodiscard) (C++2a): */ -#define HAVE_CPP_ATTRIBUTE_NODISCARD 0 - /* Guaranteed copy elision (C++17), __cpp_guaranteed_copy_elision (C++2a): */ #define HAVE_CPP_GUARANTEED_COPY_ELISION 0 diff --git a/configure.ac b/configure.ac index f05c84110f4f..1dc1b712302d 100644 --- a/configure.ac +++ b/configure.ac @@ -6447,7 +6447,8 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ CXXFLAGS=$save_CXXFLAGS AC_LANG_POP([C++]) -AC_MSG_CHECKING([[whether $CXX supports [[nodiscard]]]]) +dnl This check can eventually be removed completely (e.g., after libreoffice-6-3 branch off): +AC_MSG_CHECKING([[that $CXX supports [[nodiscard]]]]) AC_LANG_PUSH([C++]) save_CXXFLAGS=$CXXFLAGS CXXFLAGS="$CXXFLAGS $CXXFLAGS_CXX11" @@ -6467,10 +6468,8 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ #else [[nodiscard]] int f(); #endif - ]])], [ - AC_DEFINE([HAVE_CPP_ATTRIBUTE_NODISCARD],[1]) - AC_MSG_RESULT([yes]) - ], [AC_MSG_RESULT([no])]) + ]])], + AC_MSG_RESULT([yes]), AC_MSG_ERROR([$CXX lacks required [[nodiscard]] support])) CXXFLAGS=$save_CXXFLAGS AC_LANG_POP([C++]) diff --git a/include/sal/types.h b/include/sal/types.h index 74d5c8886203..e2442ea6c998 100644 --- a/include/sal/types.h +++ b/include/sal/types.h @@ -292,7 +292,7 @@ typedef void * sal_Handle; Compilers that support a construct of this nature will emit a compile time warning on unchecked return value. */ -#if defined __cplusplus && HAVE_CPP_ATTRIBUTE_NODISCARD +#if defined LIBO_INTERNAL_ONLY && defined __cplusplus #define SAL_WARN_UNUSED_RESULT [[nodiscard]] #elif (defined __GNUC__ \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1))) \ |