summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config_host/config_global.h.in1
-rw-r--r--configure.ac4
-rw-r--r--include/o3tl/typed_flags_set.hxx22
-rw-r--r--include/sal/types.h2
-rw-r--r--include/vcl/vclptr.hxx6
5 files changed, 16 insertions, 19 deletions
diff --git a/config_host/config_global.h.in b/config_host/config_global.h.in
index 5bb9992dd2f8..a7738182e3e1 100644
--- a/config_host/config_global.h.in
+++ b/config_host/config_global.h.in
@@ -12,7 +12,6 @@ Any change in this header will cause a rebuild of almost everything.
#ifndef CONFIG_GLOBAL_H
#define CONFIG_GLOBAL_H
-#define HAVE_CXX11_CONSTEXPR 0
#define HAVE_CXX14_CONSTEXPR 0
#define HAVE_CXX11_REF_QUALIFIER 0
#define HAVE_CXX11_UTF16_STRING_LITERAL 0
diff --git a/configure.ac b/configure.ac
index a4f0503aa3e1..c56e6f3652dc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6244,8 +6244,8 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
AC_LANG_POP([C++])
CXXFLAGS=$save_CXXFLAGS
AC_MSG_RESULT([$cxx11_constexpr])
-if test "$cxx11_constexpr" = yes; then
- AC_DEFINE([HAVE_CXX11_CONSTEXPR])
+if test "$cxx11_constexpr" = no; then
+ AC_MSG_ERROR([Your $CXX does not support 'constexpr'. This is no longer supported.])
fi
AC_MSG_CHECKING([whether $CXX supports C++14 constexpr])
diff --git a/include/o3tl/typed_flags_set.hxx b/include/o3tl/typed_flags_set.hxx
index 637fcfa6c3ff..dfb196a582e1 100644
--- a/include/o3tl/typed_flags_set.hxx
+++ b/include/o3tl/typed_flags_set.hxx
@@ -77,7 +77,7 @@ struct is_typed_flags {
typename std::underlying_type<E>::type value):
value_(value)
{
-#if !HAVE_CXX11_CONSTEXPR || HAVE_CXX14_CONSTEXPR
+#if HAVE_CXX14_CONSTEXPR
assert(detail::isNonNegative(value));
assert(
static_cast<typename std::underlying_type<E>::type>(~0) == M
@@ -106,7 +106,7 @@ struct is_typed_flags {
template<typename E>
inline SAL_CONSTEXPR typename o3tl::typed_flags<E>::Wrap operator ~(E rhs) {
-#if !HAVE_CXX11_CONSTEXPR || HAVE_CXX14_CONSTEXPR
+#if HAVE_CXX14_CONSTEXPR
assert(
o3tl::detail::isNonNegative(
static_cast<typename std::underlying_type<E>::type>(rhs)));
@@ -129,7 +129,7 @@ template<typename E>
inline SAL_CONSTEXPR typename o3tl::typed_flags<E>::Wrap operator ^(
E lhs, E rhs)
{
-#if !HAVE_CXX11_CONSTEXPR || HAVE_CXX14_CONSTEXPR
+#if HAVE_CXX14_CONSTEXPR
assert(
o3tl::detail::isNonNegative(
static_cast<typename std::underlying_type<E>::type>(lhs)));
@@ -146,7 +146,7 @@ template<typename E>
inline SAL_CONSTEXPR typename o3tl::typed_flags<E>::Wrap operator ^(
E lhs, typename o3tl::typed_flags<E>::Wrap rhs)
{
-#if !HAVE_CXX11_CONSTEXPR || HAVE_CXX14_CONSTEXPR
+#if HAVE_CXX14_CONSTEXPR
assert(
o3tl::detail::isNonNegative(
static_cast<typename std::underlying_type<E>::type>(lhs)));
@@ -160,7 +160,7 @@ template<typename E>
inline SAL_CONSTEXPR typename o3tl::typed_flags<E>::Wrap operator ^(
typename o3tl::typed_flags<E>::Wrap lhs, E rhs)
{
-#if !HAVE_CXX11_CONSTEXPR || HAVE_CXX14_CONSTEXPR
+#if HAVE_CXX14_CONSTEXPR
assert(
o3tl::detail::isNonNegative(
static_cast<typename std::underlying_type<E>::type>(rhs)));
@@ -188,7 +188,7 @@ template<typename E>
inline SAL_CONSTEXPR typename o3tl::typed_flags<E>::Wrap operator &(
E lhs, E rhs)
{
-#if !HAVE_CXX11_CONSTEXPR || HAVE_CXX14_CONSTEXPR
+#if HAVE_CXX14_CONSTEXPR
assert(
o3tl::detail::isNonNegative(
static_cast<typename std::underlying_type<E>::type>(lhs)));
@@ -205,7 +205,7 @@ template<typename E>
inline SAL_CONSTEXPR typename o3tl::typed_flags<E>::Wrap operator &(
E lhs, typename o3tl::typed_flags<E>::Wrap rhs)
{
-#if !HAVE_CXX11_CONSTEXPR || HAVE_CXX14_CONSTEXPR
+#if HAVE_CXX14_CONSTEXPR
assert(
o3tl::detail::isNonNegative(
static_cast<typename std::underlying_type<E>::type>(lhs)));
@@ -219,7 +219,7 @@ template<typename E>
inline SAL_CONSTEXPR typename o3tl::typed_flags<E>::Wrap operator &(
typename o3tl::typed_flags<E>::Wrap lhs, E rhs)
{
-#if !HAVE_CXX11_CONSTEXPR || HAVE_CXX14_CONSTEXPR
+#if HAVE_CXX14_CONSTEXPR
assert(
o3tl::detail::isNonNegative(
static_cast<typename std::underlying_type<E>::type>(rhs)));
@@ -245,7 +245,7 @@ typename o3tl::typed_flags<typename W::Unwrapped::Self>::Wrap operator &(
template<typename E>
inline SAL_CONSTEXPR typename o3tl::typed_flags<E>::Wrap operator |(E lhs, E rhs) {
-#if !HAVE_CXX11_CONSTEXPR || HAVE_CXX14_CONSTEXPR
+#if HAVE_CXX14_CONSTEXPR
assert(
o3tl::detail::isNonNegative(
static_cast<typename std::underlying_type<E>::type>(lhs)));
@@ -262,7 +262,7 @@ template<typename E>
inline SAL_CONSTEXPR typename o3tl::typed_flags<E>::Wrap operator |(
E lhs, typename o3tl::typed_flags<E>::Wrap rhs)
{
-#if !HAVE_CXX11_CONSTEXPR || HAVE_CXX14_CONSTEXPR
+#if HAVE_CXX14_CONSTEXPR
assert(
o3tl::detail::isNonNegative(
static_cast<typename std::underlying_type<E>::type>(lhs)));
@@ -276,7 +276,7 @@ template<typename E>
inline SAL_CONSTEXPR typename o3tl::typed_flags<E>::Wrap operator |(
typename o3tl::typed_flags<E>::Wrap lhs, E rhs)
{
-#if !HAVE_CXX11_CONSTEXPR || HAVE_CXX14_CONSTEXPR
+#if HAVE_CXX14_CONSTEXPR
assert(
o3tl::detail::isNonNegative(
static_cast<typename std::underlying_type<E>::type>(rhs)));
diff --git a/include/sal/types.h b/include/sal/types.h
index 1bf697660fa0..9da283b383fe 100644
--- a/include/sal/types.h
+++ b/include/sal/types.h
@@ -422,7 +422,7 @@ namespace css = ::com::sun::star;
@since LibreOffice 5.0
*/
-#if HAVE_CXX11_CONSTEXPR
+#if defined LIBO_INTERNAL_ONLY
#define SAL_CONSTEXPR constexpr
#else
#define SAL_CONSTEXPR
diff --git a/include/vcl/vclptr.hxx b/include/vcl/vclptr.hxx
index 39e4fe918d52..e3e0e827ee8e 100644
--- a/include/vcl/vclptr.hxx
+++ b/include/vcl/vclptr.hxx
@@ -65,8 +65,7 @@ public:
typedef typename C< value, void *, void >::t t;
};
-#if HAVE_CXX11_CONSTEXPR \
- && !(defined _MSC_VER && _MSC_VER <= 1900 && !defined __clang__)
+#if !(defined _MSC_VER && _MSC_VER <= 1900 && !defined __clang__)
template<typename>
constexpr bool isIncompleteOrDerivedFromVclReferenceBase(...) { return true; }
@@ -93,8 +92,7 @@ namespace detail {
template <class reference_type>
class VclPtr
{
-#if HAVE_CXX11_CONSTEXPR \
- && !(defined _MSC_VER && _MSC_VER <= 1900 && !defined __clang__)
+#if !(defined _MSC_VER && _MSC_VER <= 1900 && !defined __clang__)
static_assert(
vcl::detail::isIncompleteOrDerivedFromVclReferenceBase<reference_type>(
nullptr),