[Libreoffice-commits] core.git: sc/source

Tor Lillqvist tml at collabora.com
Wed Nov 20 11:46:30 PST 2013


 sc/source/core/opencl/opencl_device.cxx |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

New commits:
commit 008471428cb6122c6b3b444a0f9ff094e16774df
Author: Tor Lillqvist <tml at collabora.com>
Date:   Wed Nov 20 21:42:20 2013 +0200

    Simply use a separate temp variable
    
    The dynamic_cast thing caused error: dynamic_cast from rvalue to
    reference type 'std::ostringstream &' (aka 'basic_ostringstream<char>
    &') with Clang in C++11 mode.
    
    Clearly putting the value of integer expressions into strings is a
    very esoteric corner case that very few C++ programs need to do, if it
    is this hard to do it and there is no obvious standard idiom that
    would work in all compilers and language vintages.
    
    Change-Id: I46ed2bd2a8f860d7323682b19886ec732b0722c1

diff --git a/sc/source/core/opencl/opencl_device.cxx b/sc/source/core/opencl/opencl_device.cxx
index 963e10a..90b9033 100644
--- a/sc/source/core/opencl/opencl_device.cxx
+++ b/sc/source/core/opencl/opencl_device.cxx
@@ -244,7 +244,9 @@ ds_status evaluateScoreForDevice(ds_device* device, void* evalData)
         bool bAmdFp64Flag = false;
         const char* buildOption = NULL;
         std::string tmpStr("-Dfp_t=double -Dfp_t4=double4 -Dfp_t16=double16 -DINPUTSIZE=");
-        tmpStr.append(dynamic_cast<std::ostringstream&>(std::ostringstream() << std::dec << INPUTSIZE).str());
+        std::ostringstream tmpOStrStr;
+        tmpOStrStr << std::dec << INPUTSIZE;
+        tmpStr.append(tmpOStrStr.str());
 
         if ((std::string(aExtInfo)).find("cl_khr_fp64") != std::string::npos)
         {


More information about the Libreoffice-commits mailing list