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

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Fri Aug 31 08:32:57 UTC 2018


 include/sal/log.hxx |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 965ac9915280e3d570d7b32ff20799507f4e42eb
Author:     Stephan Bergmann <sbergman at redhat.com>
AuthorDate: Thu Aug 30 18:31:33 2018 +0200
Commit:     Stephan Bergmann <sbergman at redhat.com>
CommitDate: Fri Aug 31 10:32:30 2018 +0200

    At least MSVC 19.15.26726 (VS 2017 15.8.1) needs the SAL_STREAM fix too
    
    ...that was originally introduced for libc++ in
    691b6ea8e100fc55f0ff70a82511722733113a07 "Make the SAL_STREAM thing compile with
    clang++ -std=c++11 -stdlib=libc++".  MSVC and clang-cl builds now started to
    fail like
    
    > [build CXX] sfx2/source/control/bindings.cxx
    > C:/lo-clang/core/sfx2/source/control/bindings.cxx(1333,19):  error: dynamic_cast from rvalue to reference type '::std::ostringstream &' (aka 'basic_ostringstream<char, char_traits<char>, allocator<char> > &')
    >                 ? SAL_STREAM("File: " << pFile << " Line: " << nLine) : ""));
    >                 ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    > C:/lo-clang/core/include\sal/log.hxx(169,6):  note: expanded from macro 'SAL_STREAM'
    >     (dynamic_cast< ::std::ostringstream & >(::std::ostringstream() << stream).str())
    >      ^
    > C:/lo-clang/core/include\sal/log.hxx(306,20):  note: expanded from macro 'SAL_INFO'
    >         SAL_WHERE, stream)
    >         ~~~~~~~~~~~^~~~~~~
    > C:/lo-clang/core/include\sal/log.hxx(120,53):  note: expanded from macro 'SAL_DETAIL_LOG_STREAM'
    >                     ::sal::detail::StreamStart() << stream) == 1) \
    >                                                     ^~~~~~
    [...]
    
    Change-Id: Icb311c8a61cd7e7f450a45fc7f07327e94b5d186
    Reviewed-on: https://gerrit.libreoffice.org/59833
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>

diff --git a/include/sal/log.hxx b/include/sal/log.hxx
index 6bcd34b09fe2..00d533ab5495 100644
--- a/include/sal/log.hxx
+++ b/include/sal/log.hxx
@@ -161,7 +161,7 @@ inline char const * unwrapStream(SAL_UNUSED_PARAMETER StreamIgnore const &) {
 
     @since LibreOffice 3.5
 */
-#ifdef _LIBCPP_VERSION
+#if defined _LIBCPP_VERSION || (defined _MSC_VER && _MSC_VER >= 1915)
 #define SAL_STREAM(stream) \
     (::std::ostringstream() << stream).str()
 #else


More information about the Libreoffice-commits mailing list