[Libreoffice-commits] core.git: include/rtl sal/qa

Stephan Bergmann sbergman at redhat.com
Mon Aug 29 11:44:17 UTC 2016


 include/rtl/stringutils.hxx                         |   17 ++++++++++++++---
 sal/qa/rtl/strings/test_oustring_stringliterals.cxx |    3 +--
 2 files changed, 15 insertions(+), 5 deletions(-)

New commits:
commit c399004b42ae3694e13730712854556b6293763e
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Sat Aug 27 15:08:26 2016 +0200

    OUString construction from OUStringLiteral1 must not be overruled by...
    
    ...Except[Const]CharArrayDetector, under RTL_STRING_UNITTEST
    
    Change-Id: Ib185fb8406c4afcff1c854a2b74dae02a0ee2b3f
    Reviewed-on: https://gerrit.libreoffice.org/28444
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>

diff --git a/include/rtl/stringutils.hxx b/include/rtl/stringutils.hxx
index c794f49..23cad71 100644
--- a/include/rtl/stringutils.hxx
+++ b/include/rtl/stringutils.hxx
@@ -200,6 +200,18 @@ template< int N >
 struct ExceptConstCharArrayDetector< const char[ N ] >
 {
 };
+#if defined LIBO_INTERNAL_ONLY
+template<char C> struct ExceptConstCharArrayDetector<
+#if defined __GNUC__ && __GNUC__ == 4 && __GNUC_MINOR__ <= 8 \
+        && !defined __clang__
+    OUStringLiteral1_<C> const
+#else
+    OUStringLiteral1<C>
+#endif
+    >
+{};
+#endif
+
 // this one is used to rule out only const char[N]
 // (const will be brought in by 'const T&' in the function call)
 // msvc needs const char[N] here (not sure whether gcc or msvc
@@ -217,9 +229,8 @@ template< int N >
 struct ExceptCharArrayDetector< const char[ N ] >
 {
 };
-#if defined LIBO_INTERNAL_ONLY && defined _MSC_VER && _MSC_VER <= 1900
-    // Visual Studio 2015
-template<char C> struct ExceptCharArrayDetector<OUStringLiteral1<C>> {};
+#if defined LIBO_INTERNAL_ONLY
+template<char C> struct ExceptCharArrayDetector<OUStringLiteral1_<C>> {};
 #endif
 
 template< typename T1, typename T2 = void >
diff --git a/sal/qa/rtl/strings/test_oustring_stringliterals.cxx b/sal/qa/rtl/strings/test_oustring_stringliterals.cxx
index 961c2de..df9aecd 100644
--- a/sal/qa/rtl/strings/test_oustring_stringliterals.cxx
+++ b/sal/qa/rtl/strings/test_oustring_stringliterals.cxx
@@ -228,8 +228,7 @@ void test::oustring::StringLiterals::checkOUStringLiteral1()
 
     // auto l5 = rtlunittest::OUStringLiteral1<sal_Unicode(0x100)>();
 
-    rtl::OUString s1;
-    s1 = rtlunittest::OUStringLiteral1<'A'>();
+    rtl::OUString s1{rtlunittest::OUStringLiteral1<'A'>()};
     CPPUNIT_ASSERT_EQUAL(sal_Int32(1), s1.getLength());
     CPPUNIT_ASSERT_EQUAL(sal_Unicode('A'), s1[0]);
 


More information about the Libreoffice-commits mailing list