Title: [160254] trunk/Source
Revision
160254
Author
[email protected]
Date
2013-12-06 14:56:46 -0800 (Fri, 06 Dec 2013)

Log Message

../_javascript_Core: [Win] Support compiling with VS2013
https://bugs.webkit.org/show_bug.cgi?id=125353

Reviewed by Anders Carlsson.

* API/tests/testapi.c: Use C99 defines if available.
* jit/JITOperations.cpp: Don't attempt to define C linkage when
returning a C++ object.

../WebCore: [Win] Support compiling with VS2013
https://bugs.webkit.org/show_bug.cgi?id=125353

Reviewed by Anders Carlsson.

* loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::create): Use nullptr
(WebCore::LegacyWebArchive::createFromSelection): Ditto

../WebKit: [Win] Support compiling with VS2013.
https://bugs.webkit.org/show_bug.cgi?id=125353

Reviewed by Anders Carlsson.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Provide
proper exports for VS2013 build.

../WTF: [Win] Support compiling with VS2013
https://bugs.webkit.org/show_bug.cgi?id=125353

Reviewed by Anders Carlsson.

* wtf/Compiler.h: Show proper features for VS2012 and VS2013.
* wtf/MathExtras.h: Don't implement common C99 routines when
they are available through the runtime libraries.
* wtf/RetainPtr.h:
(WTF::RetainPtr::operator bool): Added.
* wtf/StdLibExtras.h: Use Microsoft's version of make_unique
when it exists.

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/API/tests/testapi.c (160253 => 160254)


--- trunk/Source/_javascript_Core/API/tests/testapi.c	2013-12-06 22:54:41 UTC (rev 160253)
+++ trunk/Source/_javascript_Core/API/tests/testapi.c	2013-12-06 22:56:46 UTC (rev 160254)
@@ -45,6 +45,7 @@
 
 #if COMPILER(MSVC)
 
+#if _MSC_VER < 1800
 #include <wtf/MathExtras.h>
 
 static double nan(const char*)
@@ -54,6 +55,7 @@
 
 using std::isinf;
 using std::isnan;
+#endif
 
 #endif
 

Modified: trunk/Source/_javascript_Core/ChangeLog (160253 => 160254)


--- trunk/Source/_javascript_Core/ChangeLog	2013-12-06 22:54:41 UTC (rev 160253)
+++ trunk/Source/_javascript_Core/ChangeLog	2013-12-06 22:56:46 UTC (rev 160254)
@@ -1,3 +1,14 @@
+2013-12-06  Roger Fong <[email protected]> and Brent Fulgham  <[email protected]>
+
+        [Win] Support compiling with VS2013
+        https://bugs.webkit.org/show_bug.cgi?id=125353
+
+        Reviewed by Anders Carlsson.
+
+        * API/tests/testapi.c: Use C99 defines if available.
+        * jit/JITOperations.cpp: Don't attempt to define C linkage when
+        returning a C++ object.
+
 2013-12-06  Filip Pizlo  <[email protected]>
 
         FTL should support generic ByVal accesses

Modified: trunk/Source/_javascript_Core/jit/JITOperations.cpp (160253 => 160254)


--- trunk/Source/_javascript_Core/jit/JITOperations.cpp	2013-12-06 22:54:41 UTC (rev 160253)
+++ trunk/Source/_javascript_Core/jit/JITOperations.cpp	2013-12-06 22:56:46 UTC (rev 160254)
@@ -1363,6 +1363,8 @@
     return JSValue::encode(baseValue.get(exec, ident, slot));
 }
 
+}
+
 static JSValue getByVal(ExecState* exec, JSValue baseValue, JSValue subscript, ReturnAddressPtr returnAddress)
 {
     if (LIKELY(baseValue.isCell() && subscript.isString())) {
@@ -1386,6 +1388,8 @@
     return baseValue.get(exec, property);
 }
 
+extern "C" {
+    
 EncodedJSValue JIT_OPERATION operationGetByValGeneric(ExecState* exec, EncodedJSValue encodedBase, EncodedJSValue encodedSubscript)
 {
     VM& vm = exec->vm();

Modified: trunk/Source/WTF/ChangeLog (160253 => 160254)


--- trunk/Source/WTF/ChangeLog	2013-12-06 22:54:41 UTC (rev 160253)
+++ trunk/Source/WTF/ChangeLog	2013-12-06 22:56:46 UTC (rev 160254)
@@ -1,3 +1,18 @@
+2013-12-06  Roger Fong <[email protected]> and Brent Fulgham  <[email protected]>
+
+        [Win] Support compiling with VS2013
+        https://bugs.webkit.org/show_bug.cgi?id=125353
+
+        Reviewed by Anders Carlsson.
+
+        * wtf/Compiler.h: Show proper features for VS2012 and VS2013.
+        * wtf/MathExtras.h: Don't implement common C99 routines when
+        they are available through the runtime libraries.
+        * wtf/RetainPtr.h:
+        (WTF::RetainPtr::operator bool): Added.
+        * wtf/StdLibExtras.h: Use Microsoft's version of make_unique
+        when it exists.
+
 2013-12-06  Laszlo Vidacs  <[email protected]>
 
         Define SHA1 hash size in SHA1.h and use it at various places.

Modified: trunk/Source/WTF/wtf/Compiler.h (160253 => 160254)


--- trunk/Source/WTF/wtf/Compiler.h	2013-12-06 22:54:41 UTC (rev 160253)
+++ trunk/Source/WTF/wtf/Compiler.h	2013-12-06 22:56:46 UTC (rev 160254)
@@ -79,8 +79,10 @@
 
 #if !COMPILER(CLANG)
 #define WTF_COMPILER_SUPPORTS_CXX_OVERRIDE_CONTROL 1
+#if !defined(_MSC_VER) || _MSC_VER < 1800
 #define WTF_COMPILER_QUIRK_FINAL_IS_CALLED_SEALED 1
 #endif
+#endif
 
 /* Check for VS2010 or newer */
 #if _MSC_VER >= 1600
@@ -89,6 +91,18 @@
 #define WTF_COMPILER_SUPPORTS_CXX_AUTO_TYPE 1
 #endif
 
+#if _MSC_VER >= 1700
+#define WTF_COMPILER_SUPPORTS_CXX_STRONG_ENUMS 1
+#define WTF_COMPILER_SUPPORTS_CXX_OVERRIDE_CONTROL 1
+#endif
+
+#if _MSC_VER >= 1800
+#define WTF_COMPILER_SUPPORTS_CXX_DELETED_FUNCTIONS 1
+#define WTF_COMPILER_SUPPORTS_CXX_EXPLICIT_CONVERSIONS 1
+#define WTF_COMPILER_SUPPORTS_CXX_GENERALIZED_INITIALIZERS 1
+#define WTF_COMPILER_SUPPORTS_CXX_VARIADIC_TEMPLATES 1
+#endif
+
 #endif /* defined(_MSC_VER) */
 
 /* COMPILER(RVCT) - ARM RealView Compilation Tools */

Modified: trunk/Source/WTF/wtf/MathExtras.h (160253 => 160254)


--- trunk/Source/WTF/wtf/MathExtras.h	2013-12-06 22:54:41 UTC (rev 160253)
+++ trunk/Source/WTF/wtf/MathExtras.h	2013-12-06 22:56:46 UTC (rev 160254)
@@ -123,6 +123,7 @@
 
 #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,14 +139,13 @@
         return integer - num > 0.5f ? integer - 1.0f : integer;
     return integer - num >= 0.5f ? integer - 1.0f : integer;
 }
+
 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)); }
 inline long lroundf(float num) { return static_cast<long>(roundf(num)); }
 inline double trunc(double num) { return num > 0 ? floor(num) : ceil(num); }
 
-#if _MSC_VER < 1800
-
 inline double remainder(double numerator, double denominator)
 {
     double result = fmod(numerator, denominator);
@@ -155,8 +155,6 @@
     return result;
 }
 
-#endif
-
 inline double asinh(double d)
 {
     return log(d + sqrt(d * d + 1.0));
@@ -189,6 +187,8 @@
 
 #endif
 
+#endif
+
 #if COMPILER(GCC) && OS(QNX)
 // The stdlib on QNX doesn't contain long abs(long). See PR #104666.
 inline long long abs(long num) { return labs(num); }
@@ -215,6 +215,8 @@
 inline long long abs(long long num) { return _abs64(num); }
 #endif
 
+#if _MSC_VER < 1800
+
 namespace std {
 
 inline bool isinf(double num) { return !_finite(num) && !_isnan(num); }
@@ -224,6 +226,8 @@
 
 } // namespace std
 
+#endif
+
 inline double nextafter(double x, double y) { return _nextafter(x, y); }
 inline float nextafterf(float x, float y) { return x > y ? x - FLT_EPSILON : x + FLT_EPSILON; }
 

Modified: trunk/Source/WTF/wtf/RetainPtr.h (160253 => 160254)


--- trunk/Source/WTF/wtf/RetainPtr.h	2013-12-06 22:54:41 UTC (rev 160253)
+++ trunk/Source/WTF/wtf/RetainPtr.h	2013-12-06 22:56:46 UTC (rev 160254)
@@ -119,6 +119,7 @@
         PtrType operator->() const { return fromStorageType(m_ptr); }
 #if COMPILER_SUPPORTS(CXX_EXPLICIT_CONVERSIONS)
         explicit operator PtrType() const { return fromStorageType(m_ptr); }
+        explicit operator bool() const { return m_ptr; }
 #endif
 
         bool operator!() const { return !m_ptr; }

Modified: trunk/Source/WTF/wtf/StdLibExtras.h (160253 => 160254)


--- trunk/Source/WTF/wtf/StdLibExtras.h	2013-12-06 22:54:41 UTC (rev 160253)
+++ trunk/Source/WTF/wtf/StdLibExtras.h	2013-12-06 22:56:46 UTC (rev 160254)
@@ -335,11 +335,13 @@
     };
 
 #if COMPILER_SUPPORTS(CXX_VARIADIC_TEMPLATES)
+#if !defined(_MSC_VER) || _MSC_VER < 1800
     template<class T, class... Args> inline typename _Unique_if<T>::_Single_object
     make_unique(Args&&... args)
     {
         return unique_ptr<T>(new T(std::forward<Args>(args)...));
     }
+#endif
 #else
     template<class T> inline typename _Unique_if<T>::_Single_object
     make_unique()
@@ -408,12 +410,14 @@
     }
 #endif
 
+#if !defined(_MSC_VER) || _MSC_VER < 1800
     template<class T> inline typename _Unique_if<T>::_Unknown_bound
     make_unique(size_t n)
     {
         typedef typename remove_extent<T>::type U;
         return unique_ptr<T>(new U[n]());
     }
+#endif
     
 #if COMPILER_SUPPORTS(CXX_VARIADIC_TEMPLATES)
     template<class T, class... Args> typename _Unique_if<T>::_Known_bound

Modified: trunk/Source/WebCore/ChangeLog (160253 => 160254)


--- trunk/Source/WebCore/ChangeLog	2013-12-06 22:54:41 UTC (rev 160253)
+++ trunk/Source/WebCore/ChangeLog	2013-12-06 22:56:46 UTC (rev 160254)
@@ -1,3 +1,14 @@
+2013-12-06  Roger Fong <[email protected]> and Brent Fulgham  <[email protected]>
+
+        [Win] Support compiling with VS2013
+        https://bugs.webkit.org/show_bug.cgi?id=125353
+
+        Reviewed by Anders Carlsson.
+
+        * loader/archive/cf/LegacyWebArchive.cpp:
+        (WebCore::LegacyWebArchive::create): Use nullptr
+        (WebCore::LegacyWebArchive::createFromSelection): Ditto
+
 2013-11-15  Jer Noble  <[email protected]>
 
         [MSE][Mac] Add a new MSE-compatible MediaPlayerPrivate implementation, MediaPlayerPrivateMediaSourceAVFObjC

Modified: trunk/Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp (160253 => 160254)


--- trunk/Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp	2013-12-06 22:54:41 UTC (rev 160253)
+++ trunk/Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp	2013-12-06 22:56:46 UTC (rev 160254)
@@ -494,7 +494,7 @@
     Vector<Node*> nodeList;
     String markupString = documentTypeString(document) + createMarkup(*range, &nodeList, AnnotateForInterchange);
 
-    return create(markupString, frame, nodeList, 0);
+    return create(markupString, frame, nodeList, nullptr);
 }
 
 PassRefPtr<LegacyWebArchive> LegacyWebArchive::create(const String& markupString, Frame* frame, const Vector<Node*>& nodes, std::function<bool (Frame&)> frameFilter)
@@ -601,7 +601,7 @@
         builder.append(createMarkup(*selectionRange, &nodeList, AnnotateForInterchange));
 
     String markupString = builder.toString();
-    RefPtr<LegacyWebArchive> archive = create(markupString, frame, nodeList, 0);
+    RefPtr<LegacyWebArchive> archive = create(markupString, frame, nodeList, nullptr);
     
     if (!document->isFrameSet())
         return archive.release();

Modified: trunk/Source/WebKit/ChangeLog (160253 => 160254)


--- trunk/Source/WebKit/ChangeLog	2013-12-06 22:54:41 UTC (rev 160253)
+++ trunk/Source/WebKit/ChangeLog	2013-12-06 22:56:46 UTC (rev 160254)
@@ -1,3 +1,13 @@
+2013-12-06  Roger Fong <[email protected]> and Brent Fulgham  <[email protected]>
+
+        [Win] Support compiling with VS2013.
+        https://bugs.webkit.org/show_bug.cgi?id=125353
+
+        Reviewed by Anders Carlsson.
+
+        * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Provide
+        proper exports for VS2013 build.
+
 2013-12-06  Dániel Bátyai  <[email protected]>
 
         Build fix after r160207, remove the BitmapImage::decodeSize symbol export

Modified: trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in (160253 => 160254)


--- trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in	2013-12-06 22:54:41 UTC (rev 160253)
+++ trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in	2013-12-06 22:56:46 UTC (rev 160254)
@@ -346,7 +346,12 @@
         symbolWithPointer(?pageSizeAndMarginsInPixels@PrintContext@WebCore@@SA?AVString@WTF@@PAVFrame@2@HHHHHHH@Z, ?pageSizeAndMarginsInPixels@PrintContext@WebCore@@SA?AVString@WTF@@PEAVFrame@2@HHHHHHH@Z)
         symbolWithPointer(?close@DOMWindow@WebCore@@QAEXPAVScriptExecutionContext@2@@Z, ?close@DOMWindow@WebCore@@QEAAXPEAVScriptExecutionContext@2@@Z)
         symbolWithPointer(?document@DOMWindow@WebCore@@QBEPAVDocument@2@XZ, ?document@DOMWindow@WebCore@@QEBAPEAVDocument@2@XZ)
+#if _MSC_VER < 1800
         symbolWithPointer(?open@DOMWindow@WebCore@@QAE?AV?$PassRefPtr@VDOMWindow@WebCore@@@WTF@@ABVString@4@ABVAtomicString@4@0PAV12@2@Z, ?open@DOMWindow@WebCore@@QEAA?AV?$PassRefPtr@VDOMWindow@WebCore@@@WTF@@AEBVString@4@AEBVAtomicString@4@0PEAV12@2@Z)
+#else
+        symbolWithPointer(?open@DOMWindow@WebCore@@QAE?AV?$PassRefPtr@VDOMWindow@WebCore@@@WTF@@ABVString@4@ABVAtomicString@4@0AAV12@2@Z, ?open@DOMWindow@WebCore@@QEAA?AV?$PassRefPtr@VDOMWindow@WebCore@@@WTF@@AEBVString@4@AEBVAtomicString@4@0AEAV12@2@Z)
+
+#endif
         symbolWithPointer(?toJS@WebCore@@YA?AVJSValue@JSC@@PAVExecState@3@PAVJSDOMGlobalObject@1@PAVDOMWindow@1@@Z, ?toJS@WebCore@@YA?AVJSValue@JSC@@PEAVExecState@3@PEAVJSDOMGlobalObject@1@PEAVDOMWindow@1@@Z)
         symbolWithPointer(?layerTreeAsText@Frame@WebCore@@QBE?AVString@WTF@@I@Z, ?layerTreeAsText@Frame@WebCore@@QEBA?AVString@WTF@@I@Z)
         symbolWithPointer(?trackedRepaintRectsAsText@Frame@WebCore@@QBE?AVString@WTF@@XZ, ?trackedRepaintRectsAsText@Frame@WebCore@@QEBA?AVString@WTF@@XZ)
@@ -459,3 +464,8 @@
         symbolWithPointer(?cacheStorage@WebCore@@YAAAVApplicationCacheStorage@1@XZ, ?cacheStorage@WebCore@@YAAEAVApplicationCacheStorage@1@XZ)
         symbolWithPointer(?setDefaultOriginQuota@ApplicationCacheStorage@WebCore@@QAEX_J@Z, ?setDefaultOriginQuota@ApplicationCacheStorage@WebCore@@QEAAX_J@Z)
         symbolWithPointer(?vm@ScriptExecutionContext@WebCore@@QAEPAVVM@JSC@@XZ, ?vm@ScriptExecutionContext@WebCore@@QEAAPEAVVM@JSC@@XZ)
+#if _MSC_VER >= 1800
+        symbolWithPointer(?completeURL@Document@WebCore@@UBE?AVURL@2@ABVString@WTF@@@Z, ?completeURL@Document@WebCore@@UBE?AVURL@2@ABVString@WTF@@@Z)
+        symbolWithPointer(??1DOMWindow@WebCore@@UAE@XZ, ??1DOMWindow@WebCore@@UAE@XZ)
+        symbolWithPointer(?visibleContentRect@ScrollView@WebCore@@UBE?AVIntRect@2@W4VisibleContentRectIncludesScrollbars@ScrollableArea@2@@Z, ?visibleContentRect@ScrollView@WebCore@@UBE?AVIntRect@2@W4VisibleContentRectIncludesScrollbars@ScrollableArea@2@@Z)
+#endif
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to