[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