Looks good to me. (although I would prefer the more descriptive Qt msvc version 
macros‎)

Can you submit this to gerrit stable branch and Cc me?

Simon

Fra: Yuchen Deng
Sendt: 15:37 lørdag 19. oktober 2013
Til: Peter Kuemmel
Kopi: [email protected]
Emne: Re: [Development] Visual C++ 2013 binaries


It's can be fixed by this patch.

From d15fbb867f0b0041bd74297792ddac0e00b898fe Mon Sep 17 00:00:00 2001
From: Yuchen Deng <[email protected]<mailto:[email protected]>>
Date: Sat, 19 Oct 2013 11:55:20 +0800
Subject: [PATCH] Fix MSVC2013 compilation

---
 src/3rdparty/masm/wtf/MathExtras.h | 2 ++
 src/qml/jsruntime/qv4global_p.h    | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/src/3rdparty/masm/wtf/MathExtras.h 
b/src/3rdparty/masm/wtf/MathExtras.h
index b08ee67..600a9c7 100644
--- a/src/3rdparty/masm/wtf/MathExtras.h
+++ b/src/3rdparty/masm/wtf/MathExtras.h
@@ -123,6 +123,7 @@ inline bool signbit(double x) { struct ieee_double *p = 
(struct ieee_double *)&x

 #if COMPILER(MSVC)

+#if _MSC_VER < 1800
 // We must not do 'num + 0.5' or 'num - 0.5' because they can cause precision 
loss.
 static double round(double num)
 {
@@ -138,6 +139,7 @@ static float roundf(float num)
         return integer - num > 0.5f ? integer - 1.0f : integer;
     return integer - num >= 0.5f ? integer - 1.0f : integer;
 }
+#endif
 inline long long llround(double num) { return static_cast<long 
long>(round(num)); }
 inline long long llroundf(float num) { return static_cast<long 
long>(roundf(num)); }
 inline long lround(double num) { return static_cast<long>(round(num)); }
diff --git a/src/qml/jsruntime/qv4global_p.h b/src/qml/jsruntime/qv4global_p.h
index 3569247..f96a48d 100644
--- a/src/qml/jsruntime/qv4global_p.h
+++ b/src/qml/jsruntime/qv4global_p.h
@@ -55,7 +55,9 @@ namespace std {
 inline bool isinf(double d) { return !_finite(d) && !_isnan(d); }
 inline bool isnan(double d) { return !!_isnan(d); }
 inline bool isfinite(double d) { return _finite(d); }
+#if _MSC_VER < 1800
 inline bool signbit(double d) { return _copysign(1.0, d) < 0; }
+#endif

 } // namespace std

--
1.8.4.msysgit.0



2013/10/19 Peter Kuemmel <[email protected]<mailto:[email protected]>>
MSVC 2013 now supports ISO C11 language features (also breaks Qt4 ATM).

Gesendet: Samstag, 19. Oktober 2013 um 14:54 Uhr
Von: "Nagy-Egri Máté Ferenc" 
<[email protected]<mailto:[email protected]>>
An: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Betreff: Re: [Development] Visual C++ 2013 binaries
I have tried to build Qt 5.0 alpha with Visual Studio 2013 RTM and I got the 
following errors:

c:\qt-src\qtdeclarative\src\qml\jsruntime\qv4global_p.h(58) : error C2883: 
'std::signbit' : function declaration conflicts with 'signbit' introduced by 
using-declaration (util\qqmladaptormodel.cpp)
        C:\Kellekek\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(324) : see 
declaration of 'signbit'
c:\qt-src\qtdeclarative\src\qml\jsruntime\qv4global_p.h(58) : error C2084: 
function 'bool signbit(double)' already has a body (util\qqmladaptormodel.cpp)
        C:\Kellekek\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(324) : see 
previous definition of 'signbit'
c:\qt-src\qtdeclarative\src\qml\jsruntime\qv4global_p.h(58) : error C2883: 
'std::signbit' : function declaration conflicts with 'signbit' introduced by 
using-declaration (util\qqmllistaccessor.cpp)
        C:\Kellekek\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(324) : see 
declaration of 'signbit'
c:\qt-src\qtdeclarative\src\qml\jsruntime\qv4global_p.h(58) : error C2084: 
function 'bool signbit(double)' already has a body (util\qqmllistaccessor.cpp)
        C:\Kellekek\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(324) : see 
previous definition of 'signbit'
qqmlpropertymap.cpp
NMAKE : fatal error U1077: '"C:\Kellekek\Microsoft Visual Studio 
12.0\VC\BIN\amd64\cl.EXE"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Kellekek\Microsoft Visual Studio 
12.0\VC\BIN\amd64\nmake.exe"' : return code '0x2'

Seems as if some declarations made to compensate for lack of STL conformance on 
VS2012 are no longer needed. I have encountered trivial functions missing from 
VS2012 STL as well. Some of these whould be revisited.

Configuration is:

configure.bat -platform win32-msvc2013 -opensource -debug-and-release -c++11 
-mp -opengl desktop -nomake examples -prefix C:\Kellekek\Qt\5.2-alpha -bindir 
C:\Kellekek\Qt\5.2-alpha\bin\x64 -libdir C:\Kellekek\Qt\5.2-alpha\lib\x64

Regards,
Máté


Feladó: Yves Bailly<http://[email protected]>
Elküldve: péntek, 2013. október 18. 20:50
Címzett: [email protected]<http://[email protected]>

On 18/10/2013 17:23, Thiago Macieira wrote:
> On sexta-feira, 18 de outubro de 2013 08:23:35, Yves Bailly wrote:
>> Greetings all,
>>
>> As most already probably know, Visual C++ 2013 is out.
>>
>> While it's most probably too late for the upcoming Qt 5.2, are there
>> any plan to provided binaries from Visual 2013 in the future? For
>> Qt 5.2.1, 5.2.2... or later?
>>
>> This information can have a significant impact on our planning here.
>
> Please note that before we produce binaries, we need to make sure Qt compiles
> with that compiler. There will be no official binaries or official support 
> until
> this commit goes through:
>
> https://codereview.qt-project.org/65262

Of course, that's obvious :-)

> Which means we need at least one person to apply and confirm Qt still builds.
>
> I tried installing VS2013 yesterday and it locked up my Windows 8. Three times
> in a row.

Seems a good first release... *sigh*

I'll do my best to take the time to try it on monday.

Regards,

--
(o< | Yves Bailly                          | -o)
//\ | Linux Dijon  : http://www.coagul.org | //\
\_/ |                                      | \_/`
_______________________________________________
Development mailing list
[email protected]<mailto:[email protected]>
http://lists.qt-project.org/mailman/listinfo/development


_______________________________________________
Development mailing list
[email protected]<mailto:[email protected]>
http://lists.qt-project.org/mailman/listinfo/development




--
Best Regards
Yuchen
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to