Reviewers: Yang,

Description:
Fix MinGW-w64 compilation

Contributed by [email protected]

BUGS=v8:1987,v8:1988,v8:1989
TEST=

Please review this at https://chromiumcodereview.appspot.com/9584045/

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
  M     SConstruct
  M     src/globals.h
  M     src/platform-win32.cc


Index: SConstruct
===================================================================
--- SConstruct  (revision 10910)
+++ SConstruct  (working copy)
@@ -300,7 +300,10 @@
                        '-Wnon-virtual-dtor']
     },
     'os:win32': {
- 'WARNINGFLAGS': ['-pedantic', '-Wno-long-long', '-Wno-pedantic-ms-format'] + 'WARNINGFLAGS': ['-pedantic', '-Wno-long-long', '-Wno-pedantic-ms-format'],
+      'library:shared': {
+        'LIBS': ['winmm', 'ws2_32']
+      }
     },
     'os:linux': {
       'WARNINGFLAGS': ['-pedantic'],
Index: src/globals.h
===================================================================
--- src/globals.h       (revision 10910)
+++ src/globals.h       (working copy)
@@ -175,27 +175,27 @@
 // than defining __STDC_CONSTANT_MACROS before including <stdint.h>, and it
 // works on compilers that don't have it (like MSVC).
 #if V8_HOST_ARCH_64_BIT
-#ifdef _MSC_VER
+#if defined(_MSC_VER)
 #define V8_UINT64_C(x)  (x ## UI64)
 #define V8_INT64_C(x)   (x ## I64)
 #define V8_INTPTR_C(x)  (x ## I64)
 #define V8_PTR_PREFIX "ll"
-#else  // _MSC_VER
+#elif defined(__MINGW64__)
+#define V8_UINT64_C(x)  (x ## ULL)
+#define V8_INT64_C(x)   (x ## LL)
+#define V8_INTPTR_C(x)  (x ## LL)
+#define V8_PTR_PREFIX "I64"
+#else
 #define V8_UINT64_C(x)  (x ## UL)
 #define V8_INT64_C(x)   (x ## L)
 #define V8_INTPTR_C(x)  (x ## L)
 #define V8_PTR_PREFIX "l"
-#endif  // _MSC_VER
+#endif
 #else  // V8_HOST_ARCH_64_BIT
 #define V8_INTPTR_C(x)  (x)
 #define V8_PTR_PREFIX ""
 #endif  // V8_HOST_ARCH_64_BIT

-#ifdef __MINGW64__
-#undef V8_PTR_PREFIX
-#define V8_PTR_PREFIX "I64"
-#endif  // __MINGW64__
-
 // The following macro works on both 32 and 64-bit platforms.
 // Usage: instead of writing 0x1234567890123456
 //      write V8_2PART_UINT64_C(0x12345678,90123456);
Index: src/platform-win32.cc
===================================================================
--- src/platform-win32.cc       (revision 10910)
+++ src/platform-win32.cc       (working copy)
@@ -885,7 +885,6 @@
                    bool is_executable) {
   // VirtualAlloc rounds allocated size to page size automatically.
   size_t msize = RoundUp(requested, static_cast<int>(GetPageSize()));
-  void* address = 0;

   // Windows XP SP2 allows Data Excution Prevention (DEP).
   int prot = is_executable ? PAGE_EXECUTE_READWRITE : PAGE_READWRITE;


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to