changeset 20702:b098d8af7ec8 draft

-Codechange: [Win32] There are no 64-bit Windows versions below XP and we can safely assume it as the target platform.
author Michael Lutz <michi@icosahedron.de>
date Thu, 28 Mar 2013 21:56:20 +0100
parents db150a402c4d
children 0cc7d9dfe800
files src/os/windows/crashlog_win.cpp src/stdafx.h
diffstat 2 files changed, 17 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/src/os/windows/crashlog_win.cpp
+++ b/src/os/windows/crashlog_win.cpp
@@ -10,12 +10,6 @@
 /** @file crashlog_win.cpp Implementation of a crashlogger for Windows */
 
 #include "../../stdafx.h"
-#if defined(_MSC_VER) && defined(_M_AMD64)
-/* Redefine WinNT version to get RtlCaptureContext prototype. */
-#undef _WIN32_WINNT
-#undef NTDDI_VERSION
-#define _WIN32_WINNT _WIN32_WINNT_WINXP
-#endif /* defined(_MSC_VER) && defined(_M_AMD64) */
 #include "../../crashlog.h"
 #include "win32.h"
 #include "../../core/alloc_func.hpp"
--- a/src/stdafx.h
+++ b/src/stdafx.h
@@ -177,15 +177,24 @@
 /* Stuff for MSVC */
 #if defined(_MSC_VER)
 	#pragma once
-	/* Define a win32 target platform, to override defaults of the SDK
-	 * We need to define NTDDI version for Vista SDK, but win2k is minimum */
-	#define NTDDI_VERSION NTDDI_WIN2K // Windows 2000
-	#define _WIN32_WINNT 0x0500       // Windows 2000
-	#define _WIN32_WINDOWS 0x400      // Windows 95
-	#if !defined(WINCE)
-		#define WINVER 0x0400     // Windows NT 4.0 / Windows 95
+	#ifdef _WIN64
+		/* No 64-bit Windows below XP, so we can safely assume it as the target platform. */
+		#define NTDDI_VERSION NTDDI_WINXP // Windows XP
+		#define _WIN32_WINNT 0x501        // Windows XP
+		#define _WIN32_WINDOWS 0x501      // Windows XP
+		#define WINVER 0x0501             // Windows XP
+		#define _WIN32_IE_ 0x0600         // 6.0 (XP+)
+	#else
+		/* Define a win32 target platform, to override defaults of the SDK
+		 * We need to define NTDDI version for Vista SDK, but win2k is minimum */
+		#define NTDDI_VERSION NTDDI_WIN2K // Windows 2000
+		#define _WIN32_WINNT 0x0500       // Windows 2000
+		#define _WIN32_WINDOWS 0x400      // Windows 95
+		#if !defined(WINCE)
+			#define WINVER 0x0400     // Windows NT 4.0 / Windows 95
+		#endif
+		#define _WIN32_IE_ 0x0401         // 4.01 (win98 and NT4SP5+)
 	#endif
-	#define _WIN32_IE_ 0x0401         // 4.01 (win98 and NT4SP5+)
 	#define NOMINMAX                // Disable min/max macros in windows.h.
 
 	#pragma warning(disable: 4244)  // 'conversion' conversion from 'type1' to 'type2', possible loss of data