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
