[Libreoffice-commits] core.git: config_host/config_global.h.in configure.ac include/rtl

Stephan Bergmann sbergman at redhat.com
Fri Jun 16 13:22:59 UTC 2017


 config_host/config_global.h.in |    1 -
 configure.ac                   |    4 ++--
 include/rtl/string.hxx         |   13 +++----------
 include/rtl/ustring.hxx        |   32 +++++++-------------------------
 4 files changed, 12 insertions(+), 38 deletions(-)

New commits:
commit c127c19de62201b49b6647ef3ee8b08ae49da852
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Jun 16 10:57:12 2017 +0200

    Remove HAVE_CXX11_REF_QUALIFIER, always true now
    
    ...after 579497164f6bddfeb14bb6b0f4b9cd3322af1803 "Bump GCC baseline to 4.8.1"
    
    Make this a fatal configuration error for now.  The check should be removed
    completely after LO 6.0 branch-off.
    
    Change-Id: I70cf65d6b0eb7158008f28449794c66c1b775916
    Reviewed-on: https://gerrit.libreoffice.org/38869
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>

diff --git a/config_host/config_global.h.in b/config_host/config_global.h.in
index 1becb71a5ba5..850792479644 100644
--- a/config_host/config_global.h.in
+++ b/config_host/config_global.h.in
@@ -13,7 +13,6 @@ Any change in this header will cause a rebuild of almost everything.
 #define CONFIG_GLOBAL_H
 
 #define HAVE_CXX14_CONSTEXPR 0
-#define HAVE_CXX11_REF_QUALIFIER 0
 #define HAVE_GCC_BUILTIN_ATOMIC 0
 /* _Pragma */
 #define HAVE_GCC_PRAGMA_OPERATOR 0
diff --git a/configure.ac b/configure.ac
index 9ebf25de6efd..f0c09476b7b2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6228,8 +6228,8 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
 AC_LANG_POP([C++])
 CXXFLAGS=$save_CXXFLAGS
 AC_MSG_RESULT([$cxx11_ref_qualifier])
-if test "$cxx11_ref_qualifier" = yes; then
-    AC_DEFINE([HAVE_CXX11_REF_QUALIFIER])
+if test "$cxx11_ref_qualifier" = no; then
+    AC_MSG_ERROR([Your $CXX does not support C++11 ref-qualifiers. This is no longer supported.])
 fi
 
 dnl _Pragma support (may require C++11)
diff --git a/include/rtl/string.hxx b/include/rtl/string.hxx
index 2753713fc66f..c116250aa396 100644
--- a/include/rtl/string.hxx
+++ b/include/rtl/string.hxx
@@ -33,7 +33,6 @@
 #include <rtl/stringutils.hxx>
 
 #ifdef LIBO_INTERNAL_ONLY // "RTL_FAST_STRING"
-#include <config_global.h>
 #include <rtl/stringconcat.hxx>
 #endif
 
@@ -351,14 +350,14 @@ public:
       @param    str         a OString.
     */
     OString & operator+=( const OString & str )
-#if defined LIBO_INTERNAL_ONLY && HAVE_CXX11_REF_QUALIFIER
+#if defined LIBO_INTERNAL_ONLY
         &
 #endif
     {
         rtl_string_newConcat( &pData, pData, str.pData );
         return *this;
     }
-#if defined LIBO_INTERNAL_ONLY && HAVE_CXX11_REF_QUALIFIER
+#if defined LIBO_INTERNAL_ONLY
     void operator+=(OString const &) && = delete;
 #endif
 
@@ -368,11 +367,7 @@ public:
      @internal
     */
     template< typename T1, typename T2 >
-    OString& operator+=( const OStringConcat< T1, T2 >& c )
-#if HAVE_CXX11_REF_QUALIFIER
-        &
-#endif
-    {
+    OString& operator+=( const OStringConcat< T1, T2 >& c ) & {
         sal_Int32 l = c.length();
         if( l == 0 )
             return *this;
@@ -383,11 +378,9 @@ public:
         pData->length = l;
         return *this;
     }
-#if HAVE_CXX11_REF_QUALIFIER
     template<typename T1, typename T2> void operator +=(
         OStringConcat<T1, T2> const &) && = delete;
 #endif
-#endif
 
     /**
       Clears the string, i.e, makes a zero-character string
diff --git a/include/rtl/ustring.hxx b/include/rtl/ustring.hxx
index e4dfe8d8346d..5f41ff3ea2ea 100644
--- a/include/rtl/ustring.hxx
+++ b/include/rtl/ustring.hxx
@@ -523,7 +523,7 @@ public:
       @exception std::bad_alloc is thrown if an out-of-memory condition occurs
     */
     OUString & operator+=( const OUString & str )
-#if defined LIBO_INTERNAL_ONLY && HAVE_CXX11_REF_QUALIFIER
+#if defined LIBO_INTERNAL_ONLY
         &
 #endif
     {
@@ -536,7 +536,7 @@ public:
         rtl_uString_release(pNewData);
         return *this;
     }
-#if defined LIBO_INTERNAL_ONLY && HAVE_CXX11_REF_QUALIFIER
+#if defined LIBO_INTERNAL_ONLY
     void operator+=(OUString const &) && = delete;
 #endif
 
@@ -549,7 +549,7 @@ public:
     template<typename T>
     typename libreoffice_internal::ConstCharArrayDetector<T, OUString &>::Type
     operator +=(T & literal)
-#if defined LIBO_INTERNAL_ONLY && HAVE_CXX11_REF_QUALIFIER
+#if defined LIBO_INTERNAL_ONLY
         &
 #endif
     {
@@ -561,7 +561,7 @@ public:
             libreoffice_internal::ConstCharArrayDetector<T>::length);
         return *this;
     }
-#if defined LIBO_INTERNAL_ONLY && HAVE_CXX11_REF_QUALIFIER
+#if defined LIBO_INTERNAL_ONLY
     template<typename T>
     typename libreoffice_internal::ConstCharArrayDetector<T, OUString &>::Type
     operator +=(T &) && = delete;
@@ -572,37 +572,25 @@ public:
     template<typename T>
     typename
         libreoffice_internal::ConstCharArrayDetector<T, OUString &>::TypeUtf16
-    operator +=(T & literal)
-#if HAVE_CXX11_REF_QUALIFIER
-        &
-#endif
-    {
+    operator +=(T & literal) & {
         rtl_uString_newConcatUtf16L(
             &pData, pData,
             libreoffice_internal::ConstCharArrayDetector<T>::toPointer(literal),
             libreoffice_internal::ConstCharArrayDetector<T>::length);
         return *this;
     }
-#if HAVE_CXX11_REF_QUALIFIER
     template<typename T>
     typename
         libreoffice_internal::ConstCharArrayDetector<T, OUString &>::TypeUtf16
     operator +=(T &) && = delete;
-#endif
 
     /** @overload @since LibreOffice 5.4 */
-    OUString & operator +=(OUStringLiteral const & literal)
-#if HAVE_CXX11_REF_QUALIFIER
-        &
-#endif
-    {
+    OUString & operator +=(OUStringLiteral const & literal) & {
         rtl_uString_newConcatAsciiL(&pData, pData, literal.data, literal.size);
         return *this;
     }
-#if HAVE_CXX11_REF_QUALIFIER
     void operator +=(OUStringLiteral const &) && = delete;
 #endif
-#endif
 
 #ifdef LIBO_INTERNAL_ONLY // "RTL_FAST_STRING"
     /**
@@ -610,11 +598,7 @@ public:
      @internal
     */
     template< typename T1, typename T2 >
-    OUString& operator+=( const OUStringConcat< T1, T2 >& c )
-#if HAVE_CXX11_REF_QUALIFIER
-        &
-#endif
-    {
+    OUString& operator+=( const OUStringConcat< T1, T2 >& c ) & {
         sal_Int32 l = c.length();
         if( l == 0 )
             return *this;
@@ -625,11 +609,9 @@ public:
         pData->length = l;
         return *this;
     }
-#if HAVE_CXX11_REF_QUALIFIER
     template<typename T1, typename T2> void operator +=(
         OUStringConcat<T1, T2> const &) && = delete;
 #endif
-#endif
 
     /**
       Clears the string, i.e, makes a zero-character string


More information about the Libreoffice-commits mailing list